Comparar commits

..

1 Commits

Autor SHA1 Mensagem Data
msweet c61c7452d8 Import cups.org releases
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/tags/release-1.1b3@4306 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-10 18:56:23 +00:00
345 arquivos alterados com 32297 adições e 148170 exclusões
+22 -288
Ver Arquivo
@@ -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
Ver Arquivo
@@ -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 -21
Ver Arquivo
@@ -31,7 +31,6 @@ AWK = @AWK@
CC = @LIBTOOL@ @CC@
CHMOD = @CHMOD@
CP = @CP@
CXX = @LIBTOOL@ @CXX@
DSO = @DSO@
HTMLDOC = @HTMLDOC@
LIBTOOL = @LIBTOOL@
@@ -48,12 +47,12 @@ SHELL = /bin/sh
# Installation programs...
#
INSTALL_BIN = $(LIBTOOL) $(CP)
INSTALL_CAT = @INSTALL_CAT@
INSTALL_DATA = $(CP)
INSTALL_LIB = $(LIBTOOL) $(CP)
INSTALL_MAN = $(CP)
INSTALL_PROGRAM = $(LIBTOOL) $(CP)
INSTALL_SCRIPT = $(CP)
INSTALL_SYSV = @INSTALL_SYSV@
#
# Libraries...
@@ -76,7 +75,6 @@ LIBZ = @LIBZ@
ARFLAGS = crvs
CFLAGS = @CFLAGS@ $(OPTIM) -I.. $(OPTIONS)
CXXFLAGS = @CXXFLAGS@ $(OPTIM) -I.. $(OPTIONS)
DSOLIBS = @DSOLIBS@
IMGLIBS = @IMGLIBS@ -lm
LDFLAGS = @LDFLAGS@ $(OPTIM)
@@ -118,8 +116,7 @@ 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@
@@ -131,32 +128,19 @@ 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
Ver Arquivo
@@ -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$".
+64 -88
Ver Arquivo
@@ -1,33 +1,52 @@
README - CUPS v1.1 - 07/10/2000
-------------------------------
README - CUPS v1.1b3 - 04/19/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,10 +124,6 @@ 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.
SETTING UP PRINTER QUEUES FROM THE COMMAND-LINE
@@ -160,8 +166,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 3]
EPSON 24-pin Series epson24.ppd [not in beta 3]
These sample drivers provide basic printing capabilities, but generally
do not exercise the full potential of the printers or CUPS. For
@@ -184,9 +190,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 +205,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 +227,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 +240,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.
-2
Ver Arquivo
@@ -50,8 +50,6 @@ clean:
install:
-$(MKDIR) $(SERVERBIN)/backend
$(CHMOD) ugo+rx $(SERVERBIN)
$(CHMOD) ugo+rx $(SERVERBIN)/backend
$(INSTALL_BIN) $(BACKENDS) $(SERVERBIN)/backend
$(RM) $(SERVERBIN)/backend/http
$(LN) ipp $(SERVERBIN)/backend/http
+7 -53
Ver Arquivo
@@ -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)
@@ -205,7 +200,6 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
language = cupsLangDefault();
copies_sup = NULL;
version = 1;
do
{
@@ -214,16 +208,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);
@@ -299,20 +292,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;
}
}
@@ -343,8 +326,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
}
else
{
fprintf(stderr, "ERROR: Validate request was not accepted (%d)!\n",
status);
fprintf(stderr, "ERROR: Validate request was not accepted (%d)!\n", status);
ipp_status = IPP_FORBIDDEN;
}
}
@@ -363,29 +345,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 +368,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 +405,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 +418,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 +603,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);
-22
Ver Arquivo
@@ -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>
@@ -247,9 +246,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 */
/*
@@ -310,24 +306,6 @@ lpd_queue(char *hostname, /* I - Host to connect to */
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...
*/
+7 -42
Ver Arquivo
@@ -36,7 +36,6 @@
#include <stdlib.h>
#include <errno.h>
#include <cups/string.h>
#include <signal.h>
#if defined(WIN32) || defined(__EMX__)
# include <io.h>
@@ -86,15 +85,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)
@@ -187,24 +181,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 +202,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);
+7 -42
Ver Arquivo
@@ -36,7 +36,6 @@
#include <stdlib.h>
#include <errno.h>
#include <cups/string.h>
#include <signal.h>
#if defined(WIN32) || defined(__EMX__)
# include <io.h>
@@ -89,15 +88,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)
@@ -305,24 +299,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 +320,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);
-22
Ver Arquivo
@@ -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...
*/
+9 -51
Ver Arquivo
@@ -36,7 +36,6 @@
#include <stdlib.h>
#include <errno.h>
#include <cups/string.h>
#include <signal.h>
#if defined(WIN32) || defined(__EMX__)
# include <io.h>
@@ -75,15 +74,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)
@@ -176,24 +170,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 +191,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 +277,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 +293,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);
-2
Ver Arquivo
@@ -49,10 +49,8 @@ clean:
install:
-$(MKDIR) $(BINDIR)
$(CHMOD) ugo+rx $(BINDIR)
$(INSTALL_BIN) lpq lpr lprm $(BINDIR)
-$(MKDIR) $(SBINDIR)
$(CHMOD) ugo+rx $(SBINDIR)
$(INSTALL_BIN) lpc $(SBINDIR)
+9 -22
Ver Arquivo
@@ -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
Ver Arquivo
@@ -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);
-2
Ver Arquivo
@@ -50,8 +50,6 @@ clean:
install:
-$(MKDIR) $(SERVERBIN)/cgi-bin
$(CHMOD) ugo+rx $(SERVERBIN)
$(CHMOD) ugo+rx $(SERVERBIN)/cgi-bin
$(INSTALL_BIN) $(TARGETS) $(SERVERBIN)/cgi-bin
+4 -138
Ver Arquivo
@@ -23,15 +23,6 @@
*
* Contents:
*
* main() - Main entry for CGI.
* do_am_class() - Add or modify a class.
* do_am_printer() - Add or modify a printer.
* do_config_printer() - Configure the default options for a printer.
* do_delete_class() - Delete a class...
* do_delete_printer() - Delete a printer...
* do_job_op() - Do a job operation.
* do_printer_op() - Do a printer operation.
* get_line() - Get a line that is terminated by a LF, CR, or CR LF.
*/
/*
@@ -201,8 +192,6 @@ do_am_class(http_t *http, /* I - HTTP connection */
ipp_attribute_t *attr; /* member-uris attribute */
ipp_status_t status; /* Request status */
char uri[HTTP_MAX_URI]; /* Device or printer URI */
const char *name, /* Pointer to class name */
*ptr; /* Pointer to CGI variable */
if (cgiGetVariable("PRINTER_LOCATION") == NULL)
@@ -258,24 +247,8 @@ do_am_class(http_t *http, /* I - HTTP connection */
cgiCopyTemplateLang(stdout, TEMPLATES, "add-class.tmpl", getenv("LANG"));
}
return;
}
name = cgiGetVariable("PRINTER_NAME");
for (ptr = name; *ptr; ptr ++)
if (!isalnum(*ptr) && *ptr != '_')
break;
if (*ptr || ptr == name)
{
cgiSetVariable("ERROR", "The class name may only contain letters, "
"numbers, and the underscore.");
cgiCopyTemplateLang(stdout, TEMPLATES, "error.tmpl", getenv("LANG"));
return;
}
if (cgiGetVariable("MEMBER_URIS") == NULL)
else if (cgiGetVariable("MEMBER_URIS") == NULL)
{
/*
* Build a CUPS_GET_PRINTERS request, which requires the
@@ -490,8 +463,6 @@ do_am_printer(http_t *http, /* I - HTTP connection */
*uriptr; /* Pointer into URI */
int maxrate; /* Maximum baud rate */
char baudrate[255]; /* Baud rate string */
const char *name, /* Pointer to class name */
*ptr; /* Pointer to CGI variable */
static int baudrates[] = /* Baud rates */
{
1200,
@@ -560,24 +531,8 @@ do_am_printer(http_t *http, /* I - HTTP connection */
cgiCopyTemplateLang(stdout, TEMPLATES, "add-printer.tmpl", getenv("LANG"));
}
return;
}
name = cgiGetVariable("PRINTER_NAME");
for (ptr = name; *ptr; ptr ++)
if (!isalnum(*ptr) && *ptr != '_')
break;
if (*ptr || ptr == name)
{
cgiSetVariable("ERROR", "The printer name may only contain letters, "
"numbers, and the underscore.");
cgiCopyTemplateLang(stdout, TEMPLATES, "error.tmpl", getenv("LANG"));
return;
}
if ((var = cgiGetVariable("DEVICE_URI")) == NULL)
else if ((var = cgiGetVariable("DEVICE_URI")) == NULL)
{
/*
* Build a CUPS_GET_DEVICES request, which requires the following
@@ -819,7 +774,6 @@ do_config_printer(http_t *http, /* I - HTTP connection */
int have_options; /* Have options? */
ipp_t *request, /* IPP request */
*response; /* IPP response */
ipp_attribute_t *attr; /* IPP attribute */
char uri[HTTP_MAX_URI]; /* Job URI */
const char *var; /* Variable value */
const char *printer; /* Printer printer name */
@@ -862,14 +816,8 @@ do_config_printer(http_t *http, /* I - HTTP connection */
ppd = ppdOpenFile(filename);
if (cgiGetVariable("job_sheets_start") != NULL ||
cgiGetVariable("job_sheets_end") != NULL)
have_options = 1;
else
have_options = 0;
for (i = ppd->num_groups, group = ppd->groups;
i > 0 && !have_options;
for (have_options = 0, i = ppd->num_groups, group = ppd->groups;
i > 0;
i --, group ++)
for (j = group->num_options, option = group->options;
j > 0;
@@ -937,80 +885,6 @@ do_config_printer(http_t *http, /* I - HTTP connection */
getenv("LANG"));
}
/*
* Build an IPP_GET_PRINTER_ATTRIBUTES request, which requires the
* following attributes:
*
* attributes-charset
* attributes-natural-language
* printer-uri
*/
request = ippNew();
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, cupsLangEncoding(language));
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
"attributes-natural-language", NULL, language->language);
snprintf(uri, sizeof(uri), "ipp://localhost/printers/%s",
cgiGetVariable("PRINTER_NAME"));
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)
{
if ((attr = ippFindAttribute(response, "job-sheets-supported", IPP_TAG_ZERO)) != NULL)
{
/*
* Add the job sheets options...
*/
cgiSetVariable("GROUP", "Banners");
cgiCopyTemplateLang(stdout, TEMPLATES, "option-header.tmpl",
getenv("LANG"));
cgiSetSize("CHOICES", attr->num_values);
cgiSetSize("TEXT", attr->num_values);
for (k = 0; k < attr->num_values; k ++)
{
cgiSetArray("CHOICES", k, attr->values[k].string.text);
cgiSetArray("TEXT", k, attr->values[k].string.text);
}
attr = ippFindAttribute(response, "job-sheets-default", IPP_TAG_ZERO);
cgiSetVariable("KEYWORD", "job_sheets_start");
cgiSetVariable("KEYTEXT", "Starting Banner");
cgiSetVariable("DEFCHOICE", attr == NULL ?
"" : attr->values[0].string.text);
cgiCopyTemplateLang(stdout, TEMPLATES, "option-pickone.tmpl",
getenv("LANG"));
cgiSetVariable("KEYWORD", "job_sheets_end");
cgiSetVariable("KEYTEXT", "Ending Banner");
cgiSetVariable("DEFCHOICE", attr == NULL && attr->num_values > 1 ?
"" : attr->values[1].string.text);
cgiCopyTemplateLang(stdout, TEMPLATES, "option-pickone.tmpl",
getenv("LANG"));
cgiCopyTemplateLang(stdout, TEMPLATES, "option-trailer.tmpl",
getenv("LANG"));
}
ippDelete(response);
}
cgiCopyTemplateLang(stdout, TEMPLATES, "config-printer2.tmpl",
getenv("LANG"));
}
@@ -1065,7 +939,6 @@ do_config_printer(http_t *http, /* I - HTTP connection */
* attributes-charset
* attributes-natural-language
* printer-uri
* job-sheets-default
* [ppd file]
*/
@@ -1085,11 +958,6 @@ do_config_printer(http_t *http, /* I - HTTP connection */
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
NULL, uri);
attr = ippAddStrings(request, IPP_TAG_PRINTER, IPP_TAG_NAME,
"job-sheets-default", 2, NULL, NULL);
attr->values[0].string.text = strdup(cgiGetVariable("job_sheets_start"));
attr->values[1].string.text = strdup(cgiGetVariable("job_sheets_end"));
/*
* Do the request and get back a response...
*/
@@ -1356,8 +1224,6 @@ do_job_op(http_t *http, /* I - HTTP connection */
cgiCopyTemplateLang(stdout, TEMPLATES, "job-hold.tmpl", getenv("LANG"));
else if (op == IPP_RELEASE_JOB)
cgiCopyTemplateLang(stdout, TEMPLATES, "job-release.tmpl", getenv("LANG"));
else if (op == IPP_RESTART_JOB)
cgiCopyTemplateLang(stdout, TEMPLATES, "job-restart.tmpl", getenv("LANG"));
}
-4
Ver Arquivo
@@ -72,10 +72,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"))
+11 -53
Ver Arquivo
@@ -34,33 +34,6 @@
#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...
*/
@@ -95,14 +68,11 @@ 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());
for (attr = response->attrs;
attr && attr->group_tag == IPP_TAG_OPERATION;
attr = attr->next);
@@ -115,6 +85,8 @@ ippSetCGIVars(ipp_t *response, /* I - Response data to be copied... */
if (filter_name)
{
printf("filtering on %s = \"%s\"\n", filter_name, filter_value);
for (filter = attr;
filter != NULL && filter->group_tag != IPP_TAG_ZERO;
filter = filter->next)
@@ -192,34 +164,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 :
+2 -2
Ver Arquivo
@@ -38,14 +38,14 @@
* 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 *);
+2 -3
Ver Arquivo
@@ -183,7 +183,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';
@@ -332,8 +332,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] == '#')
-1
Ver Arquivo
@@ -52,7 +52,6 @@ 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 ; \
+8 -2
Ver Arquivo
@@ -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
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id: cupsd.conf 1171 2000-06-27 21:15:41Z mike $"
# "$Id: cupsd.conf 1002 2000-03-21 18:35:38Z 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 no filename.
# 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 1002 2000-03-21 18:35:38Z mike $".
#
+8 -11
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id: mime.types 1152 2000-06-22 18:25:29Z mike $"
# "$Id: mime.types 1019 2000-04-18 19:41:12Z mike $"
#
# MIME types file for the Common UNIX Printing System (CUPS).
#
@@ -39,7 +39,7 @@
# 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
@@ -82,11 +82,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 +95,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
########################################################################
#
@@ -123,5 +120,5 @@ 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 1019 2000-04-18 19:41:12Z mike $".
#
+8 -2
Ver Arquivo
@@ -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
Ver Arquivo
@@ -28,7 +28,7 @@
* Version of software...
*/
#define CUPS_SVERSION "CUPS v1.1"
#define CUPS_SVERSION "CUPS v1.1b3"
/*
* Where are files stored?
+56 -109
Ver Arquivo
@@ -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,15 +41,14 @@ 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"
turn on building with libtool (UNSUPPORTED!) [default=no]],[if eval "test x$enable_libtool != xno"; then
LIBTOOL="$enable_libtool"
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."
@@ -116,7 +115,6 @@ 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)
@@ -192,7 +190,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 +198,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")
@@ -313,6 +311,18 @@ else
IMGLIBS="\$(LIBJPEG) \$(LIBPNG) \$(LIBTIFF) \$(LIBZ)"
fi
# Figure out how to install "cat" pages...
case "$uname" in
FreeBSD* | NetBSD* | OpenBSD*)
# *BSD
INSTALL_CAT="install-bsdcat"
;;
*)
# All others
INSTALL_CAT="install-cat"
;;
esac
AC_SUBST(DSO)
AC_SUBST(DSOLIBS)
AC_SUBST(IMGLIBS)
@@ -322,112 +332,49 @@ 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
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")
CUPS_SERVERBIN='${prefix}/libexec/cups'
AC_DEFINE_UNQUOTED(CUPS_SERVERBIN, "$prefix/libexec/cups")
;;
*)
# All others
INSTALL_SYSV="install-sysv"
CUPS_SERVERBIN='${exec_prefix}/lib/cups'
AC_DEFINE_UNQUOTED(CUPS_SERVERBIN, "$exec_prefix/lib/cups")
CUPS_SERVERBIN='${prefix}/lib/cups'
AC_DEFINE_UNQUOTED(CUPS_SERVERBIN, "$prefix/lib/cups")
;;
esac
AC_SUBST(INSTALL_SYSV)
AC_SUBST(CUPS_SERVERROOT)
AC_SUBST(CUPS_SERVERBIN)
AC_SUBST(CUPS_LOGDIR)
@@ -436,35 +383,35 @@ 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")
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")
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$".
+370 -435
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id: cups.list 1202 2000-07-07 21:25:17Z mike $"
# "$Id: cups.list 1023 2000-04-19 21:28:50Z mike $"
#
# ESP Package Manager (EPM) file list for the Common UNIX Printing
# System (CUPS).
@@ -28,479 +28,414 @@
%vendor Easy Software Products
%license LICENSE.txt
%readme README.txt
%version 1.1
%version 1.1b3
%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-lpd scheduler/cups-lpd
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-members.tmpl templates/choose-members.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/class-added.tmpl templates/class-added.tmpl
f 0444 root sys /usr/share/cups/templates/class-confirm.tmpl templates/class-confirm.tmpl
f 0444 root sys /usr/share/cups/templates/class-deleted.tmpl templates/class-deleted.tmpl
f 0444 root sys /usr/share/cups/templates/class-modified.tmpl templates/class-modified.tmpl
f 0444 root sys /usr/share/cups/templates/classes.tmpl templates/classes.tmpl
f 0444 root sys /usr/share/cups/templates/config-printer.tmpl templates/config-printer.tmpl
f 0444 root sys /usr/share/cups/templates/config-printer2.tmpl templates/config-printer2.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-added.tmpl templates/printer-added.tmpl
f 0444 root sys /usr/share/cups/templates/printer-configured.tmpl templates/printer-configured.tmpl
f 0444 root sys /usr/share/cups/templates/printer-confirm.tmpl templates/printer-confirm.tmpl
f 0444 root sys /usr/share/cups/templates/printer-deleted.tmpl templates/printer-deleted.tmpl
f 0444 root sys /usr/share/cups/templates/printer-modified.tmpl templates/printer-modified.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/md5.h cups/md5.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/config-printer.gif doc/images/config-printer.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 1023 2000-04-19 21:28:50Z mike $".
#
+2 -4
Ver Arquivo
@@ -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).
#
@@ -77,9 +77,7 @@ case $1 in
fi
else
if $IS_ON cups; then
prefix=@prefix@
exec_prefix=@exec_prefix@
@sbindir@/cupsd
/usr/sbin/cupsd
$ECHO "cups: scheduler started."
fi
fi
+43 -18
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id: cups.spec 1214 2000-07-10 20:58:19Z mike $"
# "$Id: cups.spec 1007 2000-04-09 23:09:10Z 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.1b3
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.1b3-source.tar.gz
Url: http://www.cups.org
Packager: Michael Sweet <mike@easysw.com>
Vendor: Easy Software Products
@@ -68,16 +68,9 @@ 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
@@ -95,19 +88,51 @@ 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/*
%%attr(4555,root,root) /usr/bin/lppasswd
/usr/lib/*.so*
/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 /usr/share/locale
%dir /usr/share/locale/C
%dir /usr/share/locale/de
%dir /usr/share/locale/en
%dir /usr/share/locale/es
%dir /usr/share/locale/fr
%dir /usr/share/locale/it
/usr/share/locale/C/*
/usr/share/locale/de/*
/usr/share/locale/en/*
/usr/share/locale/es/*
/usr/share/locale/fr/*
/usr/share/locale/it/*
%dir /usr/lib/cups
%dir /usr/lib/cups/backend
%dir /usr/lib/cups/cgi-bin
%dir /usr/lib/cups/daemon
%dir /usr/lib/cups/filter
/usr/lib/cups/backend/*
/usr/lib/cups/cgi-bin/*
/usr/lib/cups/daemon/*
/usr/lib/cups/filter/*
%dir /var/spool/cups
%dir /var/log/cups
%files devel
%dir /usr/include/cups
/usr/include/cups/*
%dir /usr/lib
/usr/lib/*.a
#
# End of "$Id: cups.spec 1214 2000-07-10 20:58:19Z mike $".
# End of "$Id: cups.spec 1007 2000-04-09 23:09:10Z mike $".
#
+5 -18
Ver Arquivo
@@ -28,8 +28,8 @@ 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
@@ -37,14 +37,14 @@ 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
#
@@ -68,14 +68,10 @@ clean:
install: all
-$(MKDIR) $(INCLUDEDIR)/cups
$(CHMOD) ugo+rx $(INCLUDEDIR)
$(CHMOD) ugo+rx $(INCLUDEDIR)/cups
$(INSTALL_DATA) $(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); \
if test $(LIBCUPS) != "libcups.a"; then \
$(RM) `basename $(LIBCUPS) .2`; \
$(LN) $(LIBCUPS) `basename $(LIBCUPS) .2`; \
fi
@@ -92,15 +88,6 @@ libcups.so.2 libcups.sl.2: $(LIBOBJS) ../Makedefs
$(LN) $@ `basename $@ .2`
#
# libcups.la
#
libcups.la: $(LIBOBJS) ../Makedefs
echo Linking $@...
$(CC) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) -version-info 2:0
#
# libcups.a
#
+2 -5
Ver Arquivo
@@ -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,
+13 -46
Ver Arquivo
@@ -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
-119
Ver Arquivo
@@ -569,119 +569,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 +578,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';
}
+4 -14
Ver Arquivo
@@ -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]);
/*
+1 -19
Ver Arquivo
@@ -41,7 +41,6 @@
* 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.
@@ -62,7 +61,6 @@
#include "ipp.h"
#include "debug.h"
#include <ctype.h>
/*
@@ -262,22 +260,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);
}
@@ -624,7 +606,7 @@ 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));
+10 -8
Ver Arquivo
@@ -109,6 +109,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,
@@ -217,20 +225,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 ****/
+25 -24
Ver Arquivo
@@ -50,30 +50,30 @@ 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",
"iso8859-13",
"iso8859-14",
"iso8859-15",
"cp874",
"cp1250",
"cp1251",
"cp1252",
"cp1253",
"cp1254",
"cp1255",
"cp1256",
"cp1257",
"cp1258"
};
static char *lang_default[] = /* Default POSIX locale */
{
@@ -303,6 +303,7 @@ cupsLangGet(const char *language) /* I - Language or locale */
lang_cache = lang;
}
/*
* Free all old strings as needed...
*/
+10 -10
Ver Arquivo
@@ -172,16 +172,16 @@ typedef enum /**** Language Encodings ****/
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_CP874,
CUPS_CP1250,
CUPS_CP1251,
CUPS_CP1252,
CUPS_CP1253,
CUPS_CP1254,
CUPS_CP1255,
CUPS_CP1256,
CUPS_CP1257,
CUPS_CP1258
} cups_encoding_t;
typedef struct cups_lang_str /**** Language Cache Structure ****/
+2 -8
Ver Arquivo
@@ -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;
-148
Ver Arquivo
@@ -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$".
*/
-5
Ver Arquivo
@@ -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 -85
Ver Arquivo
@@ -633,27 +633,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 +649,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 +674,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 +711,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 +736,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 +749,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 +998,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 +1057,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 +1092,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 +1200,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)
{
/*
-4
Ver Arquivo
@@ -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);
}
+1 -9
Ver Arquivo
@@ -149,15 +149,7 @@ cupsServer(void)
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");
}
fp = fopen(CUPS_SERVERROOT "/client.conf", "r");
if (fp == NULL)
return ("localhost");
+35 -183
Ver Arquivo
@@ -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",
@@ -307,32 +304,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 +524,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 +617,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 +628,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 +711,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 +867,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 +883,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 +934,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 +954,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 +1069,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 +1093,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
Ver Arquivo
@@ -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
Ver Arquivo
@@ -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
Ver Arquivo
@@ -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
Ver Arquivo
@@ -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
Ver Arquivo
@@ -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
Ver Arquivo
@@ -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
Ver Arquivo
@@ -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
Ver Arquivo
@@ -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
Ver Arquivo
@@ -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
Ver Arquivo
@@ -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
Ver Arquivo
@@ -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
+13 -30
Ver Arquivo
@@ -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
-$(MKDIR) $(DATADIR)/charsets
$(INSTALL_DATA) $(CHARSETS) $(DATADIR)/charsets
#
-259
Ver Arquivo
@@ -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
-259
Ver Arquivo
@@ -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
Ver Arquivo
Ver Arquivo
Ver Arquivo
Ver Arquivo
Ver Arquivo
Ver Arquivo
Ver Arquivo
Ver Arquivo
Ver Arquivo
Ver Arquivo
-2
Ver Arquivo
@@ -1,2 +0,0 @@
auth required /lib/security/pam_pwdb.so nullok shadow
account required /lib/security/pam_pwdb.so
-259
Ver Arquivo
@@ -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
Ver Arquivo
@@ -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
-259
Ver Arquivo
@@ -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
-259
Ver Arquivo
@@ -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
+2 -69
Ver Arquivo
@@ -47,7 +47,7 @@ include ../Makedefs
#
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
@@ -87,6 +87,7 @@ WEBIMAGES = images/accept-jobs.gif \
images/stop-printer.gif
#
#
# Make all documents...
#
@@ -94,21 +95,6 @@ WEBIMAGES = images/accept-jobs.gif \
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...
#
@@ -125,13 +111,11 @@ clean:
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)
-$(MKDIR) $(DOCDIR)/images
$(CHMOD) ugo+rx $(DOCDIR)/images
$(INSTALL_MAN) $(WEBIMAGES) $(DOCDIR)/images
$(INSTALL_MAN) $(DOCIMAGES) $(DOCDIR)/images
@@ -144,9 +128,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 +136,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 +144,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 +152,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.
+243 -247
Ver Arquivo
@@ -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">
@@ -17,11 +17,14 @@ H6 { font-family: sans-serif; font-size: 8.0pt }
SUB { font-size: 8.0pt }
SUP { font-size: 8.0pt }
PRE { font-size: 9.0pt }
A:link { text-decoration: underline }
A:visited { text-decoration: underline }
A:active { text-decoration: underline }
</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 +32,218 @@ 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
(&quot;CUPS&quot;) Version 1.1 software.
<H2><A NAME="1_2">1.2 System Overview</A></H2>
<P> CUPS provides a portable printing layer for UNIX&reg;-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&reg; 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 (&quot;IPP&quot;) as the basis for
managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
also supported with reduced functionality. CUPS adds network printer
browsing and PostScript Printer Description (&quot;PPD&quot;) 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 (&quot;PPD&quot;)-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-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: 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 (&quot;scheduler&quot;, &quot;cups&quot;, 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 (&quot;scheduler&quot;, &quot;libcups&quot;, 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 (&quot;CVS&quot;) software. Source files shall be &quot;checked in&quot;
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,
&quot;CVS II: Parallelizing Software Development&quot;. </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 (&quot;STR&quot;) 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 +288,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 &quot;snapshot&quot;. 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 &quot;.c&quot; for ANSI C and
&quot;.cxx&quot; for C++ source files. All other &quot;include&quot; files shall have an
extension of &quot;.h&quot;.
<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 +412,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 (&quot;DoThis&quot;,
&quot;DoThat&quot;, &quot;DoSomethingElse&quot;, etc.) The only exception to this rule
shall be the CUPS interface library functions which may begin with a
prefix word in lowercase (&quot;cupsDoThis&quot;, &quot;cupsDoThat&quot;, etc.)
<P> Functions with a local scope shall be declared &quot;static&quot; and be
<P>Functions with a local scope shall be declared &quot;static&quot; and be
lowercase with underscores between words (&quot;do_this&quot;, &quot;do_that&quot;,
&quot;do_something_else&quot;, 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 +441,11 @@ do_this(float x) /* I - Power value (0.0 &lt;= x &lt;= 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
(&quot;do_this&quot;, &quot;do_that&quot;, &quot;do_something_else&quot;, 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 +465,19 @@ class::do_this(float x) /* I - Power value (0.0 &lt;= x &lt;= 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 (&quot;ThisVariable&quot;,
&quot;ThatVariable&quot;, &quot;ThisStateVariable&quot;, etc.) The only exception to this
rule shall be the CUPS interface library global variables which must
begin with the prefix &quot;cups&quot; (&quot;cupsThisVariable&quot;, &quot;cupsThatVariable&quot;,
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 (&quot;this_variable&quot;, &quot;that_variable&quot;, etc.) Any local
variables shared by functions within a source file shall be declared
&quot;static&quot;. </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 +486,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
&quot;_t&quot; appended to the end of the name (&quot;this_type_t&quot;, &quot;that_type_t&quot;,
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 +501,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 &quot;_str&quot; appended to the end of the name (&quot;this_struct_str&quot;,
&quot;that_struct_str&quot;, 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 +522,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
(&quot;this_class&quot;, &quot;that_class&quot;, 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 +542,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
(&quot;THIS_CONSTANT&quot;, &quot;THAT_CONSTANT&quot;, etc.) Constants defined for the CUPS
interface library must begin with an uppercase prefix
(&quot;CUPS_THIS_CONSTANT&quot;, &quot;CUPS_THAT_CONSTANT&quot;, 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 +561,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 +589,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 +630,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 (&quot;if&quot;, &quot;while&quot;, 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
&quot;return&quot;:
<UL>
@@ -646,7 +642,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 +651,25 @@ for (i = sizeof(array) / sizeof(array[0]) - 1; i &gt;= 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>
+623 -688
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+2 -2
Ver Arquivo
@@ -12,7 +12,7 @@
<H2>Identification</H2>
This configuration management plan document provides the guidelines for
development and maintenance of the Common UNIX Printing System ("CUPS")
development and maintainance of the Common UNIX Printing System ("CUPS")
Version 1.1 software.
<EMBED SRC="system-overview.shtml">
@@ -39,7 +39,7 @@ sections:
<H2>Directory Structure</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
sub-system it belongs to ("scheduler", "libcups", etc.) To remain compatible
with older UNIX filesystems, directory names shall not exceed 16 characters
in length.
BIN
Ver Arquivo
Arquivo binário não exibido.
+4 -1
Ver Arquivo
@@ -41,7 +41,7 @@
<DD>Hewlett-Packard Graphics Language
<DT>HP-PCL
<DD>Hewlett-Packard Page Control Language
<DD>Hewlett-Packard Printer Control Language
<DT>HP-PJL
<DD>Hewlett-Packard Printer Job Language
@@ -61,6 +61,9 @@
<DT>MIME
<DD>Multimedia Internet Mail Exchange
<DT>PCL
<DD>Page Control Language
<DT>PPD
<DD>PostScript Printer Description
+504 -540
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+724 -846
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+21 -33
Ver Arquivo
@@ -129,6 +129,16 @@ file consists of two or more lines of ASCII text.
The currently recognized values are:
<UL>
<LI>cp874
<LI>cp1250
<LI>cp1251
<LI>cp1252
<LI>cp1253
<LI>cp1254
<LI>cp1255
<LI>cp1256
<LI>cp1257
<LI>cp1258
<LI>iso-8859-1
<LI>iso-8859-2
<LI>iso-8859-3
@@ -144,16 +154,6 @@ The currently recognized values are:
<LI>iso-8859-15
<LI>us-ascii
<LI>utf-8
<LI>windows-874
<LI>windows-1250
<LI>windows-1251
<LI>windows-1252
<LI>windows-1253
<LI>windows-1254
<LI>windows-1255
<LI>windows-1256
<LI>windows-1257
<LI>windows-1258
</UL>
<P>The second and succeeding lines define text messages. If the message text
@@ -208,11 +208,7 @@ of 1 or more lines of ASCII text. Comment lines start with the pound
representing the source and destination types. Following the MIME types are
a cost value (0 to 100) and the filter program to use. If the filter program
is not specified using the full path then it must reside in the CUPS filter
directory:
<UL><PRE>
super/type SP super/type2 SP cost SP program
</PRE></UL>
directory.
<H2>Option Files</H2>
@@ -386,6 +382,10 @@ followed by its value. The following directives are understood:
<TD>Location</TD>
<TD>A textual location of the class.</TD>
</TR>
<TR>
<TD>MoreInfo</TD>
<TD>A URL pointing to additional information on the class.</TD>
</TR>
<TR>
<TD>Printer</TD>
<TD>Specifies a printer that is a member of the class.</TD>
@@ -488,12 +488,6 @@ followed by its value. The following directives are understood:
<TD>Specifies a source and destination address for relaying browser
information from one subnet to another.</TD>
</TR>
<TR>
<TD>BrowseShortNames</TD>
<TD>yes</TD>
<TD>Specifies whether or not to provide short names (without the
"@server" part) for remote printers.</TD>
</TR>
<TR>
<TD>BrowseTimeout</TD>
<TD>300</TD>
@@ -506,11 +500,6 @@ followed by its value. The following directives are understood:
<TD>Specifies whether or not printer and class browsing is enabled; can
be "On" or "Off".</TD>
</TR>
<TR>
<TD>DataDir</TD>
<TD>/usr/share/cups</TD>
<TD>Specifies the directory where CUPS data files are stored.</TD>
</TR>
<TR>
<TD>DefaultCharset</TD>
<TD>iso-8859-1</TD>
@@ -738,6 +727,10 @@ followed by its value. The following directives are understood:
<TD>Location</TD>
<TD>A textual location of the printer.</TD>
</TR>
<TR>
<TD>MoreInfo</TD>
<TD>A URL pointing to additional information on the printer.</TD>
</TR>
<TR>
<TD>&lt;Printer name&gt;<BR>
&lt;/Printer&gt;</TD>
@@ -1063,7 +1056,7 @@ Adobe PostScript Language Reference Manual, Third Edition</A>.
<P>CUPS raster files are device-dependent raster image files that contain a
PostScript page device dictionary and device-dependent raster imagery for
each page in the document. These files are used to transfer raster data
each page in the document. These files are used to transfer raster data
from the PostScript and image file RIPs to device-dependent filters that
convert the raster data to a printable format.
@@ -1348,9 +1341,7 @@ Protocol</A>.
System (CIFS) protocols are described at
<A HREF="http://anu.samba.org/cifs">http://anu.samba.org/cifs</A>.
<P>The URI method name for SMB is "smb". Support for this protocol is
provided via the SAMBA <CODE>smbspool(1)</CODE> program provided with
SAMBA 2.0.6 and higher.
<P>The URI method name for SMB is "smb".
<H1>Directories</H1>
@@ -1373,9 +1364,6 @@ SAMBA 2.0.6 and higher.
<CODE>lpr</CODE>, <CODE>lprm</CODE>, and <CODE>lpstat</CODE> commands
reside here.
<DT>/usr/lib, /usr/lib32
<DD>The shared libraries (DSOs) reside here.
<DT>/usr/lib/cups/backend
<DD>The backend filters reside here.
Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 11 KiB

Depois

Largura:  |  Altura:  |  Tamanho: 3.4 KiB

+775 -883
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+1122 -1174
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+4 -57
Ver Arquivo
@@ -290,7 +290,7 @@ Print-Job request:
<UL>
<P>"job-billing" (text(MAX)):
<P>"job-billing" (name(MAX)):
<P><I>(CUPS 1.1 and higher)</I>
@@ -385,7 +385,7 @@ Create-Job request:
<UL>
<P>"job-billing" (text(MAX)):
<P>"job-billing" (name(MAX)):
<P><I>(CUPS 1.1 and higher)</I>
@@ -1417,16 +1417,6 @@ CUPS-Move-Job request:
</UL>
<P>Group 2: Job Template Attributes
<UL>
<P>"job-printer-uri" (uri)
<P>The client MUST supply a URI for a printer on the same server.
</UL>
<H3>CUPS-Move-Job Response</H3>
<P>The following groups of attributes are send as part of the
@@ -1582,24 +1572,13 @@ grayscale output) using the function "f(x) = x<SUP>(1000/gamma)</SUP>".
<P>The hue attribute specifies a color hue rotation when printing image
files. The default value is 0.
<H3>job-billing (text(MAX))</H3>
<H3>job-billing (name(MAX))</H3>
<P><I>(CUPS 1.1 and higher)</I>
<P>The job-billing attribute provides a text value to associate with a job
<P>The job-billing attribute provides a name value to associate with a job
for billing purposes.
<H3>job-hold-until (keyword | name(MAX))</H3>
<P><I>(CUPS 1.1 and higher)</I>
<P>The job-hold-until attribute specifies a hold time. In addition to the
standard IPP/1.1 keyword names, CUPS supports name values of the form
"HH:MM" and "HH:MM:SS" that specify a hold time. The hold time is in
Greenwich Mean Time (GMT) and <I>not</I> in the local time zone. If the
specified time is less than the current time, the job is held until the
next day.
<H3>job-sheets (1setof type3 keyword | name(MAX))</H3>
<P><I>(CUPS 1.1 and higher)</I>
@@ -1649,38 +1628,6 @@ equals 1 inch). The default value is the device physical margin.
<P>The penwidth attribute specifies the default pen width in micrometers
when printing HP-GL/2 plot files. The default value is 1000 (1 millimeter).
<H3>position (type2 keyword)</H3>
<P>The position attribute specifies the location of image files on the
media. The following keyword values are recognized:
<UL>
<LI><CODE>center</CODE> - Center the image on the page (default)
<LI><CODE>top</CODE> - Print the image centered at the top of the page
<LI><CODE>left</CODE> - Print the image centered on the left of page
<LI><CODE>right</CODE> - Print the image centered on the right of the page
<LI><CODE>top-left</CODE> - Print the image at the top left corner of
the page
<LI><CODE>top-right</CODE> - Print the image at the top right corner of
the page
<LI><CODE>bottom</CODE> - Print the image centered at the bottom of
the page
<LI><CODE>bottom-left</CODE> - Print the image at the bottom left
corner of the page
<LI><CODE>bottom-right</CODE> - Print the image at the bottom right
corner of the page
</UL>
<H3>ppi (integer(1:MAX))</H3>
<P>The ppi attribute specifies the resolution of an image file in pixels
+155 -363
Ver Arquivo
@@ -8,13 +8,12 @@
<TABLE WIDTH="100%">
<TR VALIGN=TOP>
<TD><IMG SRC="images/cups-large.gif" WIDTH="103" HEIGHT="120"></TD>
<TD><H1 ALIGN="RIGHT">An Overview of the<BR>
Common UNIX Printing System,<BR>
Version 1.1</H1>
<TD><H1 ALIGN=right>An Overview of the<BR>
Common UNIX Printing System</H1></DIV>
<P ALIGN="RIGHT">July 10, 2000<BR>
<P ALIGN=right>October 4, 1999<BR>
Michael Sweet, Easy Software Products<BR>
Copyright 1998-2000, All Rights Reserved.</P>
Copyright 1998-1999, All Rights Reserved.</P>
</TD>
</TR>
</TABLE>
@@ -22,84 +21,124 @@
<P>This whitepaper describes the Common UNIX Printing
System<SUP>TM</SUP> ("CUPS<SUP>TM</SUP>"), a portable and extensible
printing system for UNIX<SUP>&reg;</SUP>. CUPS is being developed by
<A HREF="http://www.easysw.com">Easy Software Products</A>, a software
firm located in Hollywood, Maryland that has been selling commercial
software for UNIX since 1993 through more than 40 distributors serving
over 80 countries worldwide.
Easy Software Products, a software firm located in Hollywood, Maryland
that has been selling commercial software for Silicon
Graphics<SUP>&reg;</SUP>, Sun<SUP>&reg;</SUP>, and HP workstations
since 1993 through more than 40 distributors serving over 80 countries
worldwide.
<P>Additional information on CUPS is available on the World Wide Web at
"<A HREF="http://www.cups.org">http://www.cups.org</A>".
<H2>Background</H2>
<P>Printing within UNIX has historically been done using one of two
Printing within UNIX has historically been done using one of two
printing systems - the Berkeley Line Printer Daemon ("LPD") [RFC1179]
and the AT&amp;T Line Printer system. These printing systems were
designed in the 70's for printing text to line printers; vendors have
since added varying levels of support for other types of printers.
<P>Replacements for these printing systems have emerged [LPRng,
Palladin, PLP], however none of the replacements change the fundamental
capabilities of these systems.
and the AT&amp;T Line Printer system. Replacements for these printing
systems have emerged [LPRng, Palladin, PLP], however none of the
replacements change the fundamental capabilities of these systems.
<P>Over the last few years several attempts at developing a standard
printing interface have been made, including the draft POSIX Printing
standard developed by the Institute of Electrical and Electronics
Engineers, Inc. ("IEEE") [IEEE-1387.4] and Internet Printing Protocol
("IPP") developed by the Internet Engineering Task Force ("IETF")
through the Printer Working Group ("PWG") [IETF-IPP]. The POSIX
printing standard defines a common set of command-line tools as well as
a C interface for printer administration and print jobs, but has been
shelved by the IEEE.
standard [IEEE-1387.4, last updated in 1994] and Internet Printing
Protocol [IETF-IPP]. The POSIX printing standard defines a common set
of command-line tools as well as a C interface for printer
administration and print jobs. The Internet Printing Protocol defines
extensions to the HyperText Transport Protocol 1.1 [RFC2068] to provide
support for remote printing services.
<P>The Internet Printing Protocol defines extensions to the HyperText
Transport Protocol 1.1 [RFC2616] to provide support for remote printing
services. IPP/1.0 was accepted by the IETF as an experimental Request
For Comments [RFC] document in October of 1999. Since then the Printer
Working Group has developed an updated set of specifications for
IPP/1.1 which have been accepted by the IETF and are awaiting
publication as proposed standards. Unlike POSIX Printing, IPP enjoys
widespread industry support and is poised to become the standard
network printing solution for all operating systems.
<H2>Weaknesses in Existing Printing Systems</H2>
<P>CUPS uses IPP/1.1 to provide a complete, modern printing system for
UNIX that can be extended to support new printers, devices, and
protocols while providing compatibility with existing UNIX
applications. CUPS is free software provided under the terms of the
GNU General Public License and GNU Library General Public License.
Easy Software Products has identified several major weaknesses in
the printing systems currently in use:
<H2>History</H2>
<OL>
<P>The first production release of CUPS (based on IPP/1.0) was released
in October of 1999. Since then, we have released several patch updates
to the original CUPS 1.0 release that addressed security, portability,
and bugs found, but no new functionality was added to improve the
stability of the CUPS code.
<LI>Users must print text or Adobe<SUP>&reg;</SUP>
PostScript<SUP>TM</SUP> files; other formats <I>may</I> be
supported, but not universally.
<P>CUPS 1.1 is based on IPP/1.1 and adds many of the functional
enhancements that have been requested by our users. As with 1.0, CUPS
1.1 will be followed by patch releases that address any problems found
with the software but add no new features.
<LI>Lack of a standard command-line interface; each operating
system and driver package provides different command-line
options, e.g. setting the media size with one driver may
involve passing a single option ("letter") while another
requires two ("mediasize letter").
<LI>Lack of a standard application interface; most UNIX
applications either do not provide an interface for sending
printer options, or restrict the options to those in printer
description files supplied with the application.
<LI>Remote printing problems; no vendor seems to use the same
remote printing protocol (many use an "enhanced" version of the
LPD protocol with vendor-specific extensions).
<LI>Client printer administration hassles; most vendors
require that you install remote printers on each client by
hand, and many do not even provide the ability to browse
printers on the "server" system.
<LI>Drivers typically are hardcoded to handle printing to
parallel or serial printers; support for other types of
interfaces or networking protocols requires that a driver be
rewritten to support them.
<LI>Security, accounting, and quotas; most printing systems do
not support access control lists ("ACLs"), and printer
accounting and quotas are not well supported, if at all.
</OL>
<H2>Goals of CUPS</H2>
The basic goals of CUPS are:
<OL>
<LI>Provide standard support for text (US ASCII, UTF-8, and
ISO-8859-x), Adobe PostScript, PDF, HP-GL/2, TIFF, JPEG, PNG,
PBM, PGM, PPM, GIF, SGI RGB, Sun Raster, and Kodak
PhotoCD<SUP>TM</SUP> files.
<LI>Provide a standard command-line interface with a standard
minimum set of options (media size and so forth).
<LI>Provide a standard application interface.
<LI>Provide a common remote printing interface (IPP).
<LI>Provide a printer browsing interface and allow users to
print to remote printers using a "printer@server" notation
rather than adding the printer locally.
<LI>Provide a scheduler extension interface to support
different interfaces separate from the printer driver (e.g.
serial, parallel, lpd, tftp, ipp, etc.)
<LI>Provide a standard interface for ACLs, quotas, accounting,
and logging.
</OL>
<H2>Design Overview</H2>
<P>Like most printing systems, CUPS is designed around a central print
Like most printing systems, CUPS is designed around a central print
scheduling process that dispatches print jobs, processes administrative
commands, provides printer status information to local and remote
programs, and informs users as needed. Figure 1 shows the basic
organization of CUPS.
<CENTER><IMG SRC="images/cups-block-diagram.gif" WIDTH="470" HEIGHT="170"></CENTER>
<P ALIGN="CENTER">Figure 1 - CUPS Block Diagram</P>
<P ALIGN=CENTER><IMG SRC="images/cups-block-diagram.gif" WIDTH="540" HEIGHT="200">
<BR>Figure 1 - CUPS Block Diagram
<H3>Scheduler</H3>
<P>The scheduler is a HTTP/1.1 server application that handles HTTP
The scheduler is a HTTP/1.1 server application that handles HTTP
requests. Besides handling printer requests via IPP POST requests, the
scheduler also acts as a full-featured web server for documentation,
status monitoring, and administration.
scheduler also acts as a full-featured web server for documentation and
status monitoring.
<P>The scheduler also manages a list of available printers on the LAN
<P>The scheduler also monitors the LAN for printer browsing information
and dispatches print jobs as needed using the appropriate filters and
backends.
@@ -109,17 +148,17 @@ The configuration files consist of:
<UL>
<LI>The HTTP server configuration file.
<LI>A HTTP server configuration file.
<LI>Printer and class definition files.
<LI>MIME type and conversion rule files.
<LI>PostScript Printer Description ("PPD") files.
<LI>PostScript Printer Description (PPD) files.
</UL>
<P>The HTTP server configuration file is purposely similar to the
The HTTP server configuration file is purposely similar to the
Apache server configuration file and defines all of the access control
properties for the server.
@@ -132,323 +171,77 @@ class, round-robin fashion.
application/postscript, etc.) and "magic" rules for automatically
detecting the format of a file. These are used by the HTTP server to
determine the <I>Content-Type</I> field for <I>GET</I> and <I>HEAD</I>
requests and by the IPP request handler to determine the file type
when a <I>Print-Job</I> or <I>Send-File</I> request is received with a
requests, and by the IPP request handler to determine the file type
when a <I>Print-Job</I> request is received with a
<I>document-format</I> of <I>application/octet-stream</I>.
<P>The MIME conversion rule files list the available filters. The
filters are used when a job is dispatched so that an application can
send a convenient file format to the printing system which then
converts the document into a printable format as needed. Each filter
has a relative cost associated with it, and the filtering algorithm
chooses the set of filters that will convert the file to the needed
format with the lowest total "cost".
<P>The MIME conversion rule files list the available filters. These
files are augmented by <I>cupsFilter</I> entries in the printer PPD
files. The filters are used when a job is dispatched so that an
application can send a convenient file format to the printing system
which then converts the document into a printable format as needed.
Each filter has a relative cost associated with it, and the filtering
algorithm chooses the set of filters that will convert the file to the
needed format with the lowest total "cost".
<P>The PPD files describe the capabilities of all printers, not just
PostScript printers. There is one PPD file for each printer. PPD files
for non-PostScript printers define additional filters through
<I>cupsFilter</I> attributes to support printer drivers.
<P>The PPD files describe the capabilities of PostScript printers.
There is one PPD file for each printer.
<H3>CUPS API</H3>
<H3>CUPS Interface Library</H3>
<P>The CUPS API contains CUPS-specific convenience functions for queuing
print jobs, getting printer information, accessing resources via HTTP
and IPP, and manipulating PPD files. Unlike the rest of CUPS, the CUPS
API is provided under the terms of the GNU LGPL so it may be used by
non-GPL applications.
<H3>Berkeley and System V Commands</H3>
<P>CUPS provides the System V and Berkeley command-line interfaces for
submitting jobs and checking the printer status. The
<CODE>lpstat</CODE> and <CODE>lpc status</CODE> commands also show
network printers ("printer@server") when printer browsing is enabled.
<P>The System V administation commands are supplied for managing
printers and classes. The Berkeley printer administration tool
(<CODE>lpc</CODE>) is only supported in a "read-only" mode to check the
current status of the printer queues and scheduler.
The CUPS interface library contains CUPS-specific convenience functions
for queuing print jobs, etc. It also contains functions to access
resources via HTTP and IPP, perform MIME typing and conversion, and
manipulate PPD files.
<H3>Filters</H3>
<P>A filter program reads from the standard input or from a file if a
A filter program reads from the standard input or from a file if a
filename is supplied. All filters must support a common set of options
including printer name, job ID, username, job title, number of copies,
and job options. All output is sent to the standard output.
<P>Filters are provided for many file formats and include image file
and PostScript raster filters that support non-PostScript printers. Multiple
filters are run in parallel to produce the required output format.
<P>The PostScript raster filter is based on the GNU Ghostscript 5.50
core. Instead of using the Ghostscript printer drivers and front-end,
the CUPS filter uses a generic raster printer driver and CUPS-compliant
front-end to support any kind of raster printer. This allows the same
printer driver filter to be used for printing raster data from any
filter.
<H3>CUPS Imaging</H3>
<P>The CUPS Imaging library provides functions for managing large
images, doing colorspace conversion and color management, scaling
images for printing, and managing raster page streams. It is used by
the CUPS image file filters, the PostScript RIP, and all raster
printers drivers.
<H3>Backends</H3>
<P>A backend program is a special filter that sends print data to a
device or network connection. Backends for parallel, serial, USB, LPD, IPP,
and AppSocket (JetDirect) connections are provided in CUPS 1.1.
<P>SAMBA version 2.0.6 and higher includes a SMB backend
(<CODE>smbspool(1)</CODE>) that can be used with CUPS 1.0 or 1.1 for
printing to Windows.
<H2>Network Printing</H2>
<P>Traditionally, network printing has been one of the hardest things to
get working under UNIX. One reason is because each vendor added their
own extensions to the LPD protocol (the previous standard for network
printing), making cross-platform printing difficult if not impossible.
<P>Another reason is that you have to administer every network printer
on every client machine. In some cases you can "clone" the printer
configuration from a "master" client to each of the others, but even
that can be time-consuming and error-prone. Something better is needed.
<P>CUPS provides "printer browsing", which allows clients to
automatically see and use printers from any server on a LAN. This means
that you only need to configure the server and the clients will
automatically see the printers and classes on it.
<P>In addition, CUPS can automatically merge multiple identical network
printers into "implicit classes". This allows clients to send jobs to
the implicit class and have them print on the first available printer
or server. In addition, failsafe and load-balancing functions are
enabled simply by defining the same printer on multiple servers!
<H2>New Features in CUPS 1.1</H2>
<P>CUPS 1.1 includes many new features and capabilities:
<OL>
<LI><A HREF="#BACKENDS">Backends</A>
<LI><A HREF="#BANNERS">Banner Page Support</A>
<LI><A HREF="#DIGEST">Digest Authentication</A>
<LI><A HREF="#DIRSVC">Directory Services</A>
<LI><A HREF="#FHS2">Directory Structure Changes</A>
<LI><A HREF="#DOCOS">Documentation</A>
<LI><A HREF="#DRIVERS">Drivers</A>
<LI><A HREF="#FILTERS">Filters</A>
<LI><A HREF="#IPP">IPP Support</A>
<LI><A HREF="#PERSISTENCE">Job Persistence</A>
<LI><A HREF="#LPD">LPD Client Support</A>
<LI><A HREF="#USEROPTS">User-Defined Printers and Options</A>
<LI><A HREF="#WEB">Web Administration Interface</A>
</OL>
<H3><A NAME="BACKENDS">1. Backends</A></H3>
<P>CUPS 1.1 implements a new backend interface for retrieving a list of
available devices for CUPS clients. This allows administration
interfaces to query the CUPS scheduler for a list of available devices,
automatically configure printers if the device identification
information is available, and present the user with a list of available
devices rather than relying on the user to know what devices are
configured on the system.
<P>The new release also includes a backend for USB printers under
*BSD and Linux. Support for USB under Solaris 8 will be provided in
a subsequent patch release.
<H3><A NAME="BANNERS">2. Banner Page Support</A></H3>
<P>CUPS 1.1 includes support for banner pages at the beginning and end
of a job. Banner pages may be of any file format and support variable
substitution for job titles, usernames, etc. Default banner pages are
associated with each printer and can be overridden with command-line
options by the user.
<H3><A NAME="DIGEST">3. Digest Authentication</A></H3>
<P>Digest authentication provides a more secure method of authenticating
access to the printing system. Unlike Basic authentication, Digest
authentication does not send passwords "in the clear" so it is more
difficult to gain unauthorized access to your system.
<P>CUPS 1.1 implements Digest authentication using a special MD5
password file instead of the UNIX password file. This file is managed
using the new <CODE>lppasswd</CODE> command.
<H3><A NAME="DIRSVC">4. Directory Services</A></H3>
<P>CUPS 1.1 adds new directory service ("printer browsing") features to
make using CUPS on large LANs and WANs easier. You can now poll a
remote server for printer information and relay it to the LAN as well
as restrict what printer information is processed (e.g. to "hide"
servers, domains, or networks that you don't want to see.)
<H3><A NAME="FHS2">5. Directory Structure Changes</A></H3>
<P>CUPS 1.1 now uses a directory structure that complies with the
Filesystem Hierarchy Standard ("FHS"), version 2.0. This should make
integration into existing Linux and *BSD distributions a lot easier.
<H3><A NAME="DOCOS">6. Documentation</A></H3>
<P>The CUPS 1.1 documentation has gone through many revisions,
including a completely rewritten administrators manual, a new
programmers manual, and an IPP implementation reference manual.
<H3><A NAME="DRIVERS">7. Drivers</A></H3>
<P>CUPS 1.1 includes drivers for EPSON dot-matrix and inkjet printers.
As with the HP PCL drivers, the EPSON drivers don't necessarily provide
the best possible output for each printer but should provide adequate
printing quality for general day-to-day printing.
<H3><A NAME="FILTERS">8. Filters</A></H3>
<P>CUPS 1.1 includes new image, PostScript, PDF, and text filters. The image
filters have been upgraded to support Windows BMP and Alias PIX files.
<P>The PostScript filter is now based off GNU Ghostscript 5.50. The new
filter provides much better performance with higher-resolution printers
and supports most Level 3 PostScript language features.
<P>The new PDF filter is based off the excellent Xpdf software from
Derek Noonburg and supports automatic page scaling. The new filter is a
faster, smaller, more reliable replacement for the GNU Ghostscript PDF
filtering that was used in CUPS 1.0.
<P>The new text filter now supports bidirectional text and can embed
fonts as needed.
<H3><A NAME="IPP">9. IPP Support</A></H3>
<P>Probably the least visible portion of CUPS is the IPP support. CUPS
1.1 implements all of the required IPP/1.1 operations and attributes
and most of the optional ones. The optional Create-Job and Send-File
operations are now implemented, allowing for better System V printing
system compatibility (one job ID per <CODE>lp</CODE> command) and
support for banner pages.
<H3><A NAME="PERSISTENCE">10. Job Persistence</A></H3>
<P>CUPS 1.1 supports job persistence. This means that jobs are preserved
even after a reboot, a feature that was sorely missing from CUPS 1.0.
<P>In addition, CUPS 1.1 allows you to keep job information after the
job has printed. The basic post-job persistence mode provides a job
history (number of pages printed, time job was printed, etc.) but does
not preserve the actual job files. This can be changed to discard all
information after a job is printed or keep the job files after printing
so you can reprint a job at some later time.
<H3><A NAME="LPD">11. LPD Client Support</A></H3>
<P>By popular request, CUPS 1.1 supports LPD-based clients using a new
mini-daemon that handles LPD requests and passes them on to the main
server.
<H3><A NAME="USEROPTS">12. User-Defined Printers and Options</A></H3>
<P>CUPS 1.1 includes support for user-defined printers and options via
a new <CODE>lpoptions</CODE> command. User-defined printers are special
instances of the available printers (e.g. "printer/instance" or
"printer@server/instance") that can have their own default options such
as media size, resolution, and so forth. The <CODE>lpoptions</CODE>
command can also be used to set a different default printer queue.
<H3><A NAME="WEB">13. Web Administration Interface</A></H3>
<P>CUPS 1.0 provided a simple class, job, and printer monitoring
interface for web browsers. CUPS 1.1 replaces this interface with an
enhanced administration interface that allows you to add, modify,
delete, configure, and control classes, jobs, and printers.
<H2>Software Using CUPS</H2>
<P>A lot has happened since CUPS 1.0 came out, and many software packages
are supporting CUPS. We have contributed code to the SAMBA team to support
CUPS, and parts of that are already available in SAMBA 2.0.6 and 2.0.7.
With any luck the final pieces that provide a complete integration with
SAMBA will be available in the next release of SAMBA.
<P>Two graphical interfaces have appeared on the scene that use CUPS as
well. The KUPS project provides a KDE-based interface for CUPS and can be
found at:
<UL><PRE>
<A HREF="http://kups.sourceforge.net">http://kups.sourceforge.net</A>
</PRE></UL>
<P>The X Printing Panel ("XPP") project provides a graphical printing
panel for CUPS and can be found at:
<UL><PRE>
<A HREF="http://www.phy.uni-bayreuth.de/till/xpp">http://www.phy.uni-bayreuth.de/till/xpp/</A>
</PRE></UL>
<P>Numerous other filters, drivers, tutorials, etc. have been made available
on the CUPS bazaar, available at:
<UL><PRE>
<A HREF="http://www.cups.org/bazaar.cgi">http://www.cups.org/bazaar.cgi</A>
</PRE></UL>
<P>Finally, our own ESP Print Pro software uses CUPS to provide drivers
for over 2300 printers and can be found at:
<UL><PRE>
<A HREF="http://www.easysw.com/printpro">http://www.easysw.com/printpro</A>
</PRE></UL>
<H2>Operating Systems Using CUPS</H2>
<P>One of our goals has always been to get as many UNIX/Linux
distributions using CUPS as possible. Debian is currently providing
CUPS as part of its stable distribution, and many other distributions
are considering it in their next releases.
A backend program is a special filter that writes incoming data to a
device or network connection. Backends for serial, parallel, LPD,
IPP, SMB, and AppSocket (JetDirect) connections are provided in
CUPS 1.0.
<H2>Berkeley and System V Commands</H2>
CUPS provides the System V and Berkeley command-line interfaces
for submitting jobs and checking the printer status. The "lpstat" and
"lpc status" commands also show network printers ("printer@hostname")
when printer browsing is enabled.
<P>The System V administation commands are supplied for managing
printers local to the system. The Berkeley printer administration tool
("lpc") is only supported in a "read-only" mode to check the current
status of the printer queues and scheduler.
<H2>Summary</H2>
<P>The Common UNIX Printing System provides a modern printing interface
The Common UNIX Printing System provides a modern printing interface
for UNIX applications that is both flexible and user-friendly. The
software provides System V and Berkeley compatible command-line
interfaces to ensure compatibility with existing applications. CUPS 1.1
adds many new features that make it an even better choice for printing
under UNIX.
interfaces to ensure compatibility with existing applications.
<H2>Who to Contact</H2>
<H2>Licensing</H2>
<P>For more information on CUPS please contact us at:
CUPS is available under the terms of the GNU General Public License
which means that it is basically free except for binary-only
distribution. Vendors wishing to license CUPS for their printing
solution should contact Easy Software Products at:
<UL><PRE>
Attn: CUPS Information
Easy Software Products
44141 Airport View Drive Suite 204
<UL>
<P>Attn: CUPS Licensing<BR>
Easy Software Products<BR>
44141 Airport View Drive Suite 204<BR>
Hollywood, Maryland 20636-3111 USA
+1.301.373.9600
<A HREF="mailto:cups-info@cups.org">cups-info@cups.org</A>
</PRE></UL>
<P>+1.301.373.9600<BR>
cups-info@cups.org
</UL>
<H2>References</H2>
@@ -460,31 +253,30 @@ Hollywood, Maryland 20636-3111 USA
<DT><A HREF="http://www.pwg.org/ipp/index.html">IETF-IPP</A></DT>
<DD>Internet Printing Protocol/1.1</DD>
<DD>Internet Printing Protocol/1.0</DD>
<DT><A HREF="http://www.astart.com/lprng.html">LPRng</A></DT>
<DD>An enhanced, extended, and portable implementation of the
Berkeley LPR print spooler functionality</DD>
<DD>An enhanced, extended, and portable implementation of the Berkeley LPR
print spooler functionality</DD>
<DT>Palladin</DT>
<DD>A printing system developed at the Massachussetts Institute
of Technology</DD>
<DD>A printing system developed at the Massachussetts Institute of Technology</DD>
<DT><A HREF="http://www-usa.iona.com//hyplan/jmason/plp.html">PLP</A></DT>
<DD>The Portable Line Printer spooler system</DD>
<DT><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC1179</A></DT>
<DT><A HREF="http://www.cis.ohio-state.edu/rfc/rfc1179.txt">RFC1179</A></DT>
<DD>Line Printer Daemon Protocol</DD>
<DT><A HREF="http://www.ietf.org/rfc/rfc2046.txt">RFC2046</A></DT>
<DT><A HREF="http://www.cis.ohio-state.edu/rfc/rfc2046.txt">RFC2046</A></DT>
<DD>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</DD>
<DT><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</A></DT>
<DT><A HREF="http://www.cis.ohio-state.edu/rfc/rfc2068.txt">RFC2068</A></DT>
<DD>Hypertext Transfer Protocol -- HTTP/1.1</DD>
@@ -492,9 +284,9 @@ Hollywood, Maryland 20636-3111 USA
<H2>Trademarks</H2>
<P>The Common UNIX Printing System, CUPS, and the CUPS logo are the
trademark property of Easy Software Products. All other trademarks are
the property of their respective owners.
The Common UNIX Printing System, CUPS, and the CUPS logo are
trademarks of Easy Software Products. All other trademarks are the
property of their respective owners.
</BODY>
</HTML>
Arquivo binário não exibido.
-125
Ver Arquivo
@@ -1,125 +0,0 @@
<H1 ALIGN="RIGHT"><A NAME="OVERVIEW">1 - Printing System Overview</A></H1>
<P>This chapter provides an overview of how the Common UNIX Printing System
works.
<H2>The Printing Problem</H2>
<P>For years <I>the printing problem</I> has plagued UNIX. Unlike
Microsoft&reg; Windows&reg; or Mac OS, UNIX has no standard interface or
system in place for supporting printers. Among the solutions currently
available, the Berkeley and System V printing systems are the most
prevalent.
<P>These printing systems support line printers (text only) or
PostScript printers (text and graphics), and with some coaxing they can
be made to support a full range of printers and file formats. However,
because each varient of the UNIX operating system uses a different
printing system than the next developing printer drivers for a wide
range of printers and operating systems is extremely difficult. That
combined with the limited volume of customers for each UNIX varient has
forced most printer vendors to give up supporting UNIX entirely.
<P>CUPS is designed to eliminate <I>the printing problem</I>. One
common printing system can be used by all UNIX varients to support the
printing needs of users. Printer vendors can use its modular filter
interface to develop a single driver program that supports a wide range
of file formats with little or no effort. Since CUPS provides both the
System V and Berkeley printing commands, users (and applications) can
reap the benefits of this new technology with no changes.
<H2>The Technology</H2>
<P>CUPS is based upon an emerging Internet standard called the Internet
Printing Protocol. IPP has been embraced by dozens of printer and
printer server manufacturers and is supported by Microsoft Windows
2000.
<P>IPP defines a standard protocol for printing as well as managing
print jobs and printer options like media size, resolution, and so
forth. Like all IP-based protocols, IPP can be used locally or over the
Internet to printers hundreds or thousands of miles away. Unlike other
protocols, however, IPP also supports access control, authentication,
and encryption, making it a much more capable and secure printing
solution than older ones.
<P>IPP is layered on top of the Hyper-Text Transport Protocol ("HTTP")
which is the basis of web servers on the Internet. This allows users
to view documentation, check status information on a printer or server,
and manage their printers, classes, and jobs using their web browser.
<P>CUPS provides a complete IPP/1.1 based printing system that provides
Basic, Digest, and local certificate authentication and user, domain,
or IP-based access control. TLS encryption will be available in future
versions of CUPS.
<H2>Jobs</H2>
<P>Each file or set of files that is submitted for printing is called a
<I>job</I>. Jobs are identified by a unique number starting at 1 and
are assigned to a particular destination, usually a printer. Jobs can
also have options associated with them such as media size, number of
copies, and priority.
<H2>Classes</H2>
<P>CUPS supports collections of printers known as <I>classes</I>. Jobs
sent to a class are forwarded to the first available printer in the
class.
<H2>Filters</H2>
<P>Filters allow a user or application to print many types of files
without extra effort. Print jobs sent to a CUPS server are filtered
before sending them to a printer. Some filters convert job files to
different formats that the printer can understand. Others perform page
selection and ordering tasks.
<P>CUPS provides filters for printing many types of image files,
HP-GL/2 files, PDF files, and text files. CUPS also supplies PostScript
and image file Raster Image Processor ("RIP") filters that convert
PostScript or image files into bitmaps that can be sent to a raster
printer.
<H2>Backends</H2>
<P>Backends perform the most important task of all - they send the
filtered print data to the printer.
<P>CUPS provides backends for printing over parallel, serial, and USB
ports, and over the network via the IPP, JetDirect (AppSocket), and
Line Printer Daemon ("LPD") protocols. Additional backends are
available in network service packages such as the SMB backend
included with the popular SAMBA software.
<P>Backends are also used to determine the available devices. On
startup each backend is asked for a list of devices it supports,
and any information that is available. This allows the parallel
backend to tell CUPS that an EPSON Stylus Color 600 printer is
attached to parallel port 1, for example.
<H2>Printer Drivers</H2>
<P>Printer drivers in CUPS consist of one of more filters specific to a
printer. CUPS includes sample printer drivers for Hewlett-Packard
LaserJet and DeskJet printers and EPSON 9-pin, 24-pin, Stylus Color,
and Stylus Photo printers. While these drivers do not generate optimal
output for the different printer models, they do provide basic printing
and demonstrate how you can write your own printer drivers and
incorporate them into CUPS.
<H2>Networking</H2>
<P>Printers and classes on the local system are automatically shared
with other systems on the network. This allows you to setup one system
to print to a printer and use this system as a printer server or spool
host for all of the others. Users may then select a local printer by
name or a remote printer using "name@server".
<P>CUPS also provides <I>implicit classes</I>, which are collections of
printers and/or classes with the same name. This allows you to setup
multiple servers pointing to the same physical network printer, for
example, so that you aren't relying on a single system for printing.
Because this also works with printer classes, you can setup multiple
servers and printers and never worry about a single point of failure
unless all of the printers and servers go down!
+11 -13
Ver Arquivo
@@ -10,7 +10,7 @@
<LI>CUPS-IPP-1.1: CUPS Implmentation of IPP
<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual
<LI>CUPS-SDD-1.1: CUPS Software Design Description
<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual
<LI>CUPS-SPM-1.1: CUPS Software Programming Manual
<LI>CUPS-SSR-1.1: CUPS Software Security Report
<LI>CUPS-STP-1.1: CUPS Software Test Plan
<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual
@@ -22,21 +22,19 @@
<P>The following non-CUPS documents are referenced by this document:
<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><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">Adobe
PostScript Language Reference, Third Edition.</A>
<LI>Adobe PostScript Printer Description File Format Specification,
Version 4.3.
<LI>Adobe PostScript Language Reference, Third Edition.
<LI>IPP: Job and Printer Set Operations
<LI>IPP/1.1: Encoding and Transport
<LI>IPP/1.1: Implementers Guide
<LI>IPP/1.1: Model and Semantics
<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line Printer Daemon Protocol</A>
<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design Goals for an Internet Printing Protocol</A>
<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</A>
<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping between LPD and IPP Protocols</A>
<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext Transfer Protocol -- HTTP/1.1</A>
<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP Authentication: Basic and Digest Access</A>
<LI>RFC 1179, Line Printer Daemon Protocol
<LI>RFC 2567, Design Goals for an Internet Printing Protocol
<LI>RFC 2568, Rationale for the Structure of the Model and Protocol
for the Internet Printing Protocol
<LI>RFC 2569, Mapping between LPD and IPP Protocols
<LI>RFC 2616, Hypertext Transfer Protocol -- HTTP/1.1
<LI>RFC 2617, HTTP Authentication: Basic and Digest Access
Authentication
</UL>
+584 -3885
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+735 -3190
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+546 -3476
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+219 -312
Ver Arquivo
@@ -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 Software Design Description</TITLE>
<TITLE>CUPS Software Design Description</TITLE>
<META NAME="AUTHOR" CONTENT="Easy Software Products">
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-2000, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-SDD-1.1">
@@ -17,11 +17,14 @@ H6 { font-family: sans-serif; font-size: 8.0pt }
SUB { font-size: 8.0pt }
SUP { font-size: 8.0pt }
PRE { font-size: 9.0pt }
A:link { text-decoration: underline }
A:visited { text-decoration: underline }
A:active { text-decoration: underline }
</STYLE>
</HEAD>
<BODY>
<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="100%"><BR>
<H1> CUPS Software Design Description</H1></A><BR>
<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0"><BR>
<H1>CUPS Software Design Description</H1></A><BR>
CUPS-SDD-1.1<BR>
Easy Software Products<BR>
Copyright 1997-2000, All Rights Reserved<BR>
@@ -49,85 +52,62 @@ Copyright 1997-2000, All Rights Reserved<BR>
<LI><A HREF="#3_1_3">3.1.3 parallel</A></LI>
<LI><A HREF="#3_1_4">3.1.4 serial</A></LI>
<LI><A HREF="#3_1_5">3.1.5 socket</A></LI>
<LI><A HREF="#3_1_6">3.1.6 usb</A></LI>
</UL>
<LI><A HREF="#3_2">3.2 Berkeley Commands</A></LI>
<UL>
<LI><A HREF="#3_2_1">3.2.1 lpc</A></LI>
<LI><A HREF="#3_2_2">3.2.2 lpq</A></LI>
<LI><A HREF="#3_2_3">3.2.3 lpr</A></LI>
<LI><A HREF="#3_2_4">3.2.4 lprm</A></LI>
<LI><A HREF="#3_2_2">3.2.2 lpr</A></LI>
<LI><A HREF="#3_2_3">3.2.3 lprm</A></LI>
</UL>
<LI><A HREF="#3_3">3.3 CGI</A></LI>
<UL>
<LI><A HREF="#3_3_1">3.3.1 admin.cgi</A></LI>
<LI><A HREF="#3_3_2">3.3.2 classes.cgi</A></LI>
<LI><A HREF="#3_3_3">3.3.3 jobs.cgi</A></LI>
<LI><A HREF="#3_3_4">3.3.4 printers.cgi</A></LI>
<LI><A HREF="#3_3_1">3.3.1 classes.cgi</A></LI>
<LI><A HREF="#3_3_2">3.3.2 jobs.cgi</A></LI>
<LI><A HREF="#3_3_3">3.3.3 printers.cgi</A></LI>
</UL>
<LI><A HREF="#3_4">3.4 CUPS Application Programmers Interface</A></LI>
<LI><A HREF="#3_4">3.4 CUPS Interface Library</A></LI>
<UL>
<LI><A HREF="#3_4_1">3.4.1 Convenience Functions</A></LI>
<LI><A HREF="#3_4_2">3.4.2 HTTP Functions</A></LI>
<LI><A HREF="#3_4_3">3.4.3 IPP Functions</A></LI>
<LI><A HREF="#3_4_4">3.4.4 Language Functions</A></LI>
<LI><A HREF="#3_4_5">3.4.5 PPD Functions</A></LI>
<LI><A HREF="#3_4_5">3.4.5 MIME Functions</A></LI>
<LI><A HREF="#3_4_6">3.4.6 PPD Functions</A></LI>
<LI><A HREF="#3_4_7">3.4.7 Raster Functions</A></LI>
</UL>
<LI><A HREF="#3_5">3.5 CUPS Imaging Library</A></LI>
<LI><A HREF="#3_5">3.5 Filters</A></LI>
<UL>
<LI><A HREF="#3_5_1">3.5.1 Colorspace Conversion Functions</A></LI>
<LI><A HREF="#3_5_2">3.5.2 Color Management Functions</A></LI>
<LI><A HREF="#3_5_3">3.5.3 Image Management Functions</A></LI>
<LI><A HREF="#3_5_4">3.5.4 Scaling Functions</A></LI>
<LI><A HREF="#3_5_5">3.5.5 Image File Functions</A></LI>
<LI><A HREF="#3_5_6">3.5.6 Raster Functions</A></LI>
<LI><A HREF="#3_5_1">3.5.1 hpgltops</A></LI>
<LI><A HREF="#3_5_2">3.5.2 imagetops</A></LI>
<LI><A HREF="#3_5_3">3.5.3 imagetoraster</A></LI>
<LI><A HREF="#3_5_4">3.5.4 pstops</A></LI>
<LI><A HREF="#3_5_5">3.5.5 pstoraster</A></LI>
<LI><A HREF="#3_5_6">3.5.6 rastertohp</A></LI>
<LI><A HREF="#3_5_7">3.5.7 texttops</A></LI>
</UL>
<LI><A HREF="#3_6">3.6 Daemons</A></LI>
<LI><A HREF="#3_6">3.6 Scheduler</A></LI>
<UL>
<LI><A HREF="#3_6_1">3.6.1 Line Printer Daemon</A></LI>
<LI><A HREF="#3_6_2">3.6.2 Polling Daemon</A></LI>
<LI><A HREF="#3_6_1">3.6.1 Authorization</A></LI>
<LI><A HREF="#3_6_2">3.6.2 Classes</A></LI>
<LI><A HREF="#3_6_3">3.6.3 Client</A></LI>
<LI><A HREF="#3_6_4">3.6.4 Configuration</A></LI>
<LI><A HREF="#3_6_5">3.6.5 Directory Services</A></LI>
<LI><A HREF="#3_6_6">3.6.6 IPP</A></LI>
<LI><A HREF="#3_6_7">3.6.7 Jobs</A></LI>
<LI><A HREF="#3_6_8">3.6.8 Logging</A></LI>
<LI><A HREF="#3_6_9">3.6.9 Main</A></LI>
<LI><A HREF="#3_6_10">3.6.10 Printers</A></LI>
</UL>
<LI><A HREF="#3_7">3.7 Filters</A></LI>
<LI><A HREF="#3_7">3.7 System V Commands</A></LI>
<UL>
<LI><A HREF="#3_7_1">3.7.1 hpgltops</A></LI>
<LI><A HREF="#3_7_2">3.7.2 imagetops</A></LI>
<LI><A HREF="#3_7_3">3.7.3 imagetoraster</A></LI>
<LI><A HREF="#3_7_4">3.7.4 pdftops</A></LI>
<LI><A HREF="#3_7_5">3.7.5 pstops</A></LI>
<LI><A HREF="#3_7_6">3.7.6 pstoraster</A></LI>
<LI><A HREF="#3_7_7">3.7.7 rastertoepson</A></LI>
<LI><A HREF="#3_7_8">3.7.8 rastertohp</A></LI>
<LI><A HREF="#3_7_9">3.7.9 texttops</A></LI>
</UL>
<LI><A HREF="#3_8">3.8 Scheduler</A></LI>
<UL>
<LI><A HREF="#3_8_1">3.8.1 Authorization</A></LI>
<LI><A HREF="#3_8_2">3.8.2 Classes</A></LI>
<LI><A HREF="#3_8_3">3.8.3 Client</A></LI>
<LI><A HREF="#3_8_4">3.8.4 Configuration</A></LI>
<LI><A HREF="#3_8_5">3.8.5 Devices</A></LI>
<LI><A HREF="#3_8_6">3.8.6 Directory Services</A></LI>
<LI><A HREF="#3_8_7">3.8.7 IPP</A></LI>
<LI><A HREF="#3_8_8">3.8.8 Jobs</A></LI>
<LI><A HREF="#3_8_9">3.8.9 Logging</A></LI>
<LI><A HREF="#3_8_10">3.8.10 Main</A></LI>
<LI><A HREF="#3_8_11">3.8.11 MIME</A></LI>
<LI><A HREF="#3_8_12">3.8.12 PPDs</A></LI>
<LI><A HREF="#3_8_13">3.8.13 Printers</A></LI>
</UL>
<LI><A HREF="#3_9">3.9 System V Commands</A></LI>
<UL>
<LI><A HREF="#3_9_1">3.9.1 accept</A></LI>
<LI><A HREF="#3_9_2">3.9.2 cancel</A></LI>
<LI><A HREF="#3_9_3">3.9.3 disable</A></LI>
<LI><A HREF="#3_9_4">3.9.4 enable</A></LI>
<LI><A HREF="#3_9_5">3.9.5 lp</A></LI>
<LI><A HREF="#3_9_6">3.9.6 lpadmin</A></LI>
<LI><A HREF="#3_9_7">3.9.7 lpinfo</A></LI>
<LI><A HREF="#3_9_8">3.9.8 lpmove</A></LI>
<LI><A HREF="#3_9_9">3.9.9 lpoptions</A></LI>
<LI><A HREF="#3_9_10">3.9.10 lpstat</A></LI>
<LI><A HREF="#3_9_11">3.9.11 reject</A></LI>
<LI><A HREF="#3_7_1">3.7.1 accept</A></LI>
<LI><A HREF="#3_7_2">3.7.2 cancel</A></LI>
<LI><A HREF="#3_7_3">3.7.3 disable</A></LI>
<LI><A HREF="#3_7_4">3.7.4 enable</A></LI>
<LI><A HREF="#3_7_5">3.7.5 lp</A></LI>
<LI><A HREF="#3_7_6">3.7.6 lpadmin</A></LI>
<LI><A HREF="#3_7_7">3.7.7 lpstat</A></LI>
<LI><A HREF="#3_7_8">3.7.8 reject</A></LI>
</UL>
</UL>
<B><A HREF="#4">A Glossary</A></B>
@@ -138,25 +118,25 @@ Copyright 1997-2000, All Rights Reserved<BR>
<HR>
<H1><A NAME="1">1 Scope</A></H1>
<H2><A NAME="1_1">1.1 Identification</A></H2>
This software design description document provides general information
on the architecture and coding of the Common UNIX Printing System
(&quot;CUPS&quot;) Version 1.1.
This software design description document provides detailed
information on the architecture and coding of the Common UNIX Printing
System (&quot;CUPS&quot;) Version 1.1.
<H2><A NAME="1_2">1.2 System Overview</A></H2>
<P>CUPS provides a portable printing layer for UNIX&reg;-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
<P>The Common UNIX Printing System provides a portable printing layer
for UNIX&reg; 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 (&quot;IPP&quot;) as the basis for
managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
also supported with reduced functionality. CUPS adds network printer
browsing and PostScript Printer Description (&quot;PPD&quot;) 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>
<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 (&quot;PPD&quot;)-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 software design description document is organized into the
following sections:
@@ -175,7 +155,7 @@ EPSON printers are included that use these filters. </P>
<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-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>
@@ -184,39 +164,30 @@ EPSON printers are included that use these filters. </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>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><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>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 Design Overview</A></H1>
CUPS is composed of 9 software sub-systems that operate together to
CUPS is composed of 7 software sub-systems that operate together to
perform common printing tasks:
<UL>
<LI>Backends </LI>
<LI>Berkeley Commands </LI>
<LI>CGI </LI>
<LI>CUPS Application Programmers Interface </LI>
<LI>CUPS Imaging Library </LI>
<LI>Daemons </LI>
<LI>CUPS Interface Library </LI>
<LI>Filters </LI>
<LI>Scheduler </LI>
<LI>System V Commands </LI>
@@ -226,7 +197,7 @@ Authentication: Basic and Digest Access</A> Authentication </LI>
interfaces. All backends are called with a common set of arguments:
<UL>
<LI>Device URI - the Uniform Resource Identifier for the output device
(e.g. <CODE>parallel:/dev/plp</CODE>, <CODE> ipp://hostname/resource</CODE>
(e.g. <CODE>parallel:/dev/plp</CODE>, <CODE>ipp://hostname/resource</CODE>
). </LI>
<LI>Job Identifier - the job identifier for this job (integer). </LI>
<LI>User Name - the user associated with this job (name string). </LI>
@@ -238,31 +209,31 @@ interfaces. All backends are called with a common set of arguments:
specified, the backend must read the print file from the standard
input. </LI>
</UL>
<P>Backends are named using the scheme of the URI, so a URI of
&quot;ipp://hostname/resource&quot; would be processed by the &quot;ipp&quot; backend. </P>
Backends are named using the method of the URI, so a URI of
&quot;ipp://hostname/resource&quot; would be processed by the &quot;ipp&quot; backend.
<H3><A NAME="3_1_1">3.1.1 ipp</A></H3>
<P>The ipp backend sends the specified job to a network printer or host
The ipp backend sends the specified job to a network printer or host
using the Internet Printing Protocol. The URI is as specified by the <CODE>
printer-uri-supported</CODE> attribute from the printer or host. </P>
printer-uri-supported</CODE> attribute from the printer or host.
<H3><A NAME="3_1_2">3.1.2 lpd</A></H3>
<P>The lpd backend sends the specified job to a network printer or host
using the Line Printer Daemon protocol. The URI is of the form: </P>
The lpd backend sends the specified job to a network printer or host
using the Line Printer Daemon protocol. The URI is of the form:
<UL>
<PRE>lpd://hostname/queue
</PRE>
</UL>
<H3><A NAME="3_1_3">3.1.3 parallel</A></H3>
<P>The parallel backend sends the specified job to a local printer
The parallel backend sends the specified job to a local printer
connected via the specified parallel port device. The URI is of the
form: </P>
form:
<UL>
<PRE>parallel:/dev/file
</PRE>
</UL>
<H3><A NAME="3_1_4">3.1.4 serial</A></H3>
<P>The serial backend sends the specified job to a local printer
The serial backend sends the specified job to a local printer
connected via the specified serial port device. The URI is of the
form: </P>
form:
<UL>
<PRE>serial:/dev/file?option[+option+...]
</PRE>
@@ -276,25 +247,18 @@ form: </P>
<LI><CODE>parity=<I>none</I></CODE> - Turns parity checking off. </LI>
</UL>
<H3><A NAME="3_1_5">3.1.5 socket</A></H3>
<P>The socket backend sends the specified job to a network host using
the AppSocket protocol commonly used by Hewlett-Packard and Tektronix
printers. The URI is of the form: </P>
The socket backend sends the specified job to a network host using the
AppSocket protocol commonly used by Hewlett-Packard and Tektronix
printers. The URI is of the form:
<UL>
<PRE>socket://hostname[:port]
</PRE>
</UL>
The default port number is 9100.
<H3><A NAME="3_1_6">3.1.6 usb</A></H3>
<P>The usb backend sends the specified job to a local printer connected
via the specified usb port device. The URI is of the form: </P>
<UL>
<PRE>usb:/dev/file
</PRE>
</UL>
<H2><A NAME="3_2">3.2 Berkeley Commands</A></H2>
<P>The Berkeley commands provide a simple command-line interface to
CUPS to submit and control print jobs. It is provided for compatibility
with existing software that is hardcoded to use the Berkeley commands. </P>
The Berkeley commands provide a simple command-line interface to CUPS
to submit and control print jobs. It is provided for compatibility with
existing software that is hard coded to use the Berkeley commands.
<H3><A NAME="3_2_1">3.2.1 lpc</A></H3>
The lpc command allows users and administrators to check the status
and control print queues. The version provided with CUPS supports the
@@ -303,95 +267,59 @@ following commands:
<LI>quit - Quits the lpc command. </LI>
<LI>status - Shows the status of printers and jobs in the queue. </LI>
</UL>
<H3><A NAME="3_2_2">3.2.2 lpq</A></H3>
<P>The lpq command shows the current queue status. </P>
<H3><A NAME="3_2_3">3.2.3 lpr</A></H3>
<P>The lpr command submits a job for printing. The CUPS version of lpr
silently ignores the &quot;i&quot;, &quot;t&quot;, &quot;m&quot;, &quot;h&quot;, and &quot;s&quot; options. </P>
<H3><A NAME="3_2_4">3.2.4 lprm</A></H3>
<P>The lprm removes one or more print jobs. </P>
<H3><A NAME="3_2_2">3.2.2 lpr</A></H3>
The lpr command submits a job for printing. The CUPS version of lpr
silently ignores the &quot;i&quot;, &quot;t&quot;, &quot;m&quot;, &quot;h&quot;, and &quot;s&quot; options.
<H3><A NAME="3_2_3">3.2.3 lprm</A></H3>
The lprm removes one or more print jobs.
<H2><A NAME="3_3">3.3 CGI</A></H2>
<P>The Common Gateway Interface (CGI) programs provide a web-based
status interface to monitor the status of printers, classes, and jobs.
Each of the CGIs utilize HTML template files that can be customized to
provide alternate appearances. </P>
<H3><A NAME="3_3_1">3.3.1 admin.cgi</A></H3>
<P>The admin CGI provides administration interfaces for printers and
classes. The user can add, modify, delete, start, stop, and configure
printers and classes using &quot;wizard&quot; interfaces. </P>
<H3><A NAME="3_3_2">3.3.2 classes.cgi</A></H3>
<P>The classes CGI lists the available printer classes and any pending
The Common Gateway Interface (CGI) programs provide a web-based status
interface to monitor the status of printers, classes, and jobs.
<H3><A NAME="3_3_1">3.3.1 classes.cgi</A></H3>
The classes CGI lists the available printer classes and any pending
jobs for the class. The user can click on individual classes to limit
the display and click on jobs to see the job status. </P>
<H3><A NAME="3_3_3">3.3.3 jobs.cgi</A></H3>
<P>The jobs CGI lists the queued print jobs in order of priority. The
list can be limited by printer or job. </P>
<H3><A NAME="3_3_4">3.3.4 printers.cgi</A></H3>
<P>The printers CGI lists the available printer queues and any pending
the display and click on jobs to see the job status.
<H3><A NAME="3_3_2">3.3.2 jobs.cgi</A></H3>
The jobs CGI lists the queued print jobs in order of priority. The
list can be limited by printer or job. When the user displays the
status of an individual print job all job options are displayed.
<H3><A NAME="3_3_3">3.3.3 printers.cgi</A></H3>
The printers CGI lists the available printer queues and any pending
jobs for the printer. The user can click on individual printers to
limit the display and click on jobs to see the job status. </P>
<H2><A NAME="3_4">3.4 CUPS Application Programmers Interface</A></H2>
<P>The CUPS Application Programmers Interface (&quot;API&quot;) provides common
convenience, HTTP, IPP, language, and PPD functions used by the CUPS
software. </P>
limit the display and click on jobs to see the job status.
<H2><A NAME="3_4">3.4 CUPS Interface Library</A></H2>
The CUPS interface library provides common convenience, HTTP, IPP,
language, MIME, PPD, and raster functions used by the CUPS software.
<H3><A NAME="3_4_1">3.4.1 Convenience Functions</A></H3>
<P>Convenience functions are provided to submit an IPP request, send a
Convenience functions are provided to submit an IPP request, send a
print file, cancel a job, get a list of available printers, get a list
of available classes, get the default printer or class, get the default
server name, get the local username, and get a password string. </P>
server name, get the local username, and get a password string.
<H3><A NAME="3_4_2">3.4.2 HTTP Functions</A></H3>
<P>The HTTP functions provide functions to connect to HTTP servers,
issue requests, read data from a server, and write data to a server. </P>
The HTTP functions provide functions to connect to HTTP servers, issue
requests, read data from a server, and write data to a server.
<H3><A NAME="3_4_3">3.4.3 IPP Functions</A></H3>
<P>The IPP function provide functions to manage IPP request data and
The IPP function provide functions to manage IPP request data and
attributes, read IPP responses from a server, and write IPP requests to
a server. </P>
a server.
<H3><A NAME="3_4_4">3.4.4 Language Functions</A></H3>
<P>The language functions provide a standard interface for retrieving
The language functions provide a standard interface for retrieving
common textual messages for a particular locale and determining the
correct encoding (e.g. US ASCII, UTF-8, ISO-8859-1, etc.) </P>
<H3><A NAME="3_4_5">3.4.5 PPD Functions</A></H3>
<P>The PostScript Printer Description functions manage PPD files,
select options, check for option conflicts, and emit selected options
in the correct order. </P>
<H2><A NAME="3_5">3.5 CUPS Imaging Library</A></H2>
<P>The CUPS imaging library provides colorspace conversion, color
management, image management, scaling, image file, and raster functions
used by the CUPS raster filters. </P>
<H3><A NAME="3_5_1">3.5.1 Colorspace Conversion Functions</A></H3>
<P>The colorspace conversion functions handle conversion of grayscale
and RGB colors to grayscale, RGB, K, CMY, CMYK, and CMYKcm colorspaces. </P>
<H3><A NAME="3_5_2">3.5.2 Color Management Functions</A></H3>
<P>The color management functions handle gamut mapping and density
correction. These are integrated with the colorspace conversion
functions so that colorspace conversion and color management are
processed in a single step. </P>
<H3><A NAME="3_5_3">3.5.3 Image Management Functions</A></H3>
<P>The image management functions manage a tiled image database that is
swapped to/from disk as needed. </P>
<H3><A NAME="3_5_4">3.5.4 Scaling Functions</A></H3>
<P>The scaling functions provide image scaling services using
nearest-neighbor sampling and bilinear interpolation as appropriate. </P>
<H3><A NAME="3_5_5">3.5.5 Image File Functions</A></H3>
<P>The image file functions handle loading of all image file formats. </P>
<H3><A NAME="3_5_6">3.5.6 Raster Functions</A></H3>
<P>The raster functions manage streams of CUPS raster data (described
in the Interface Design Document) used by non-PostScript printer
drivers and raster filters. </P>
<H2><A NAME="3_6">3.6 Daemons</A></H2>
<P>The daemons provide additional network functions for the scheduler.
Currently only two daemons are provided with CUPS. </P>
<H3><A NAME="3_6_1">3.6.1 Line Printer Daemon</A></H3>
<P>The line printer daemon provides remote LPD client support and is
run by the <CODE>inetd(8)</CODE> daemon as needed. </P>
<H3><A NAME="3_6_2">3.6.2 Polling Daemon</A></H3>
<P>The polling daemon is used to poll a remote server for a list of
available printers and provide it to the scheduler for addition. A
separate polling daemon is run by the scheduler for every remote system
listed for polling in the scheduler configuration file. </P>
<H2><A NAME="3_7">3.7 Filters</A></H2>
<P>The filters implement file conversion services for CUPS. All filters
are called with a common set of arguments: </P>
correct encoding (e.g. US ASCII, ISO-8859-1, etc.)
<H3><A NAME="3_4_5">3.4.5 MIME Functions</A></H3>
The Multimedia Internet Mail Exchange functions manage a MIME type and
conversion database that supports file typing by extension and content,
and least-cost file filtering from a source to a destination file type.
<H3><A NAME="3_4_6">3.4.6 PPD Functions</A></H3>
The PostScript Printer Description functions manage PPD files, select
options, check for option conflicts, and emit selected options in the
correct order.
<H3><A NAME="3_4_7">3.4.7 Raster Functions</A></H3>
The raster functions manage streams of CUPS raster data (described in
the Interface Design Document) used by non-PostScript printer drivers.
<H2><A NAME="3_5">3.5 Filters</A></H2>
The filters implement file conversion services for CUPS. All filters
are called with a common set of arguments:
<UL>
<LI>Printer name - the name of the destination printer (name string). </LI>
<LI>Job Identifier - the job identifier for this job (integer). </LI>
@@ -404,138 +332,115 @@ are called with a common set of arguments: </P>
specified, the filter must read the input file from the standard
input. </LI>
</UL>
<P>Filters are added to the MIME conversion data file and implement all
necessary conversions from one file type to another. </P>
<H3><A NAME="3_7_1">3.7.1 hpgltops</A></H3>
<P>The hpgltops filter converts HP-GL/2 files into PostScript. </P>
<H3><A NAME="3_7_2">3.7.2 imagetops</A></H3>
<P>The imagetops filter converts image files into PostScript. </P>
<H3><A NAME="3_7_3">3.7.3 imagetoraster</A></H3>
<P>The imagetoraster filter converts image files into CUPS raster data. </P>
<H3><A NAME="3_7_4">3.7.4 pdftops</A></H3>
<P>The pdftops filter converts PDF files into PostScript. </P>
<H3><A NAME="3_7_5">3.7.5 pstops</A></H3>
<P>The pstops filter inserts printer-specific commands from PPD files
and performs page filtering as requested by the user. </P>
<H3><A NAME="3_7_6">3.7.6 pstoraster</A></H3>
<P>The pstoraster filter converts PostScript program data into CUPS
raster data. </P>
<H3><A NAME="3_7_7">3.7.7 rastertoepson</A></H3>
<P>The rastertoepson filter handles converting CUPS raster data to
ESC/P and supports both color and black-and-white printers. </P>
<H3><A NAME="3_7_8">3.7.8 rastertohp</A></H3>
<P>The rastertohp filter handles converting CUPS raster data to HP-PCL
and supports both color and black-and-white printers. </P>
<H3><A NAME="3_7_9">3.7.9 texttops</A></H3>
<P>The texttops filter converts text files into PostScript. </P>
<H2><A NAME="3_8">3.8 Scheduler</A></H2>
<P>The scheduler is a fully-functional HTTP/1.1 and IPP/1.1 server that
Filters are added to the MIME conversion data file and implement all
necessary conversions from one file type to another.
<H3><A NAME="3_5_1">3.5.1 hpgltops</A></H3>
The hpgltops filter converts HP-GL/2 files into PostScript.
<H3><A NAME="3_5_2">3.5.2 imagetops</A></H3>
The imagetops filter converts image files into PostScript.
<H3><A NAME="3_5_3">3.5.3 imagetoraster</A></H3>
The imagetoraster filter converts image files into CUPS raster data.
<H3><A NAME="3_5_4">3.5.4 pstops</A></H3>
The pstops filter inserts printer-specific commands from PPD files and
performs page filtering as requested by the user.
<H3><A NAME="3_5_5">3.5.5 pstoraster</A></H3>
The pstoraster filter converts PostScript program data into CUPS
raster data.
<H3><A NAME="3_5_6">3.5.6 rastertohp</A></H3>
The rastertohp filter handles converting CUPS raster data to HP PCL
and supports both color and black-and-white printers.
<H3><A NAME="3_5_7">3.5.7 texttops</A></H3>
The texttops filter converts text files into PostScript.
<H2><A NAME="3_6">3.6 Scheduler</A></H2>
The scheduler is a fully-functional HTTP/1.1 and IPP/1.1 server that
manages the printers, classes, and jobs in the system. It also handles
a simple broadcast-based directory service so that remote print queues
and classes can be accessed transparently from the local system. </P>
<H3><A NAME="3_8_1">3.8.1 Authorization</A></H3>
<P>The authorization module is responsible for performing access
control and authentication for all HTTP and IPP requests entering the
system. </P>
<H3><A NAME="3_8_2">3.8.2 Classes</A></H3>
<P>The classes module is responsible for managing printer classes in
the system. Each class is a collection of local and/or remote printers.
and classes can be accessed transparently from the local system.
<H3><A NAME="3_6_1">3.6.1 Authorization</A></H3>
The authorization module is responsible for performing access control
and authentication for all HTTP and IPP requests entering the system.
<H3><A NAME="3_6_2">3.6.2 Classes</A></H3>
The classes module is responsible for managing printer classes in the
system. Each class is a collection of local and/or remote printers.
The classes module also reads and writes the classes configuration
file. </P>
<H3><A NAME="3_8_3">3.8.3 Client</A></H3>
<P>The client module is responsible for all HTTP client communications.
file.
<H3><A NAME="3_6_3">3.6.3 Client</A></H3>
The client module is responsible for all HTTP client communications.
It handles listening on selected interfaces, accepting connections
from prospective clients, processing incoming HTTP requests, and
sending HTTP responses to those requests. The client module also is
responsible for executing the external CGI programs as needed to
support web-based printer, class, and job status monitoring and
administration. </P>
support web-based printer, class, and job status monitoring.
<P>Once authorized, all IPP requests are sent to the IPP module. </P>
<H3><A NAME="3_8_4">3.8.4 Configuration</A></H3>
<P>The configuration module is responsible for reading the CUPS
<H3><A NAME="3_6_4">3.6.4 Configuration</A></H3>
The configuration module is responsible for reading the CUPS
configuration file and initializing the appropriate data structures and
values. The configuration module also stops CUPS services before
reading the configuration file and restarts them after the
configuration file has been read. </P>
<H3><A NAME="3_8_5">3.8.5 Devices</A></H3>
<P>The devices module is responsible for managing the list of available
devices for the CUPS-Get-Devices operation. </P>
<H3><A NAME="3_8_6">3.8.6 Directory Services</A></H3>
<P>The directory services module sends and recieves printer state
configuration file has been read.
<H3><A NAME="3_6_5">3.6.5 Directory Services</A></H3>
The directory services module sends and recieves printer state
information over a broadcast socket. Remote printers and classes are
automatically added to or removed from the local printer and class
lists as needed. </P>
lists as needed.
<P>The directory services module can only recieve printer state
information over a single UDP port, however it can broadcast to
multiple addresses and ports as needed. </P>
<H3><A NAME="3_8_7">3.8.7 IPP</A></H3>
<P>The IPP module handles IPP requests and acts accordingly. URI
<H3><A NAME="3_6_6">3.6.6 IPP</A></H3>
The IPP module handles IPP requests and acts accordingly. URI
validation is also performed here, as a client can post IPP data to any
URI on the server which might sidestep the access control or
authentication of the HTTP server. </P>
<H3><A NAME="3_8_8">3.8.8 Jobs</A></H3>
<P>The jobs module manages print jobs, starts filter and backend
authentication of the HTTP server.
<H3><A NAME="3_6_7">3.6.7 Jobs</A></H3>
The jobs module manages print jobs, starts filter and backend
processes for jobs to be printed, and monitors status messages from
those filters and backends. </P>
<H3><A NAME="3_8_9">3.8.9 Logging</A></H3>
<P>The logging module manages the access, error, and page log files
that are generated by the scheduler. </P>
<H3><A NAME="3_8_10">3.8.10 Main</A></H3>
<P>The main module is responsible for timing out and dispatching input
those filters and backends.
<H3><A NAME="3_6_8">3.6.8 Logging</A></H3>
The logging module manages the access, error, and page log files that
are generated by the scheduler.
<H3><A NAME="3_6_9">3.6.9 Main</A></H3>
The main module is responsible for timing out and dispatching input
and output for client connections. It also watches for incoming <CODE>
SIGHUP</CODE> and <CODE>SIGCHLD</CODE> signals, reloads the server
configuration files as needed, and handles child process errors and
exits. </P>
<H3><A NAME="3_8_11">3.8.11 MIME</A></H3>
<P>The Multimedia Internet Mail Exchange module manages a MIME type and
conversion database that supports file typing by extension and content
and least-cost file filtering from a source to a destination file type. </P>
<H3><A NAME="3_8_12">3.8.12 PPDs</A></H3>
<P>The PPDs module is responsible for managing the list of available
PPD files for the CUPS-Get-PPDs operation. </P>
<H3><A NAME="3_8_13">3.8.13 Printers</A></H3>
<P>The printers module is responsible for managing printers and PPD
files in the system. The printers module also reads and writes the
printers configuration file. </P>
<H2><A NAME="3_9">3.9 System V Commands</A></H2>
<P>The System V commands provide a robust command-line interface to
CUPS to submit and control printers and jobs. </P>
<H3><A NAME="3_9_1">3.9.1 accept</A></H3>
<P>The accept command tells the scheduler to accept new jobs for
specific printers. </P>
<H3><A NAME="3_9_2">3.9.2 cancel</A></H3>
<P>The cancel command tells the scheduler to cancel one or more jobs
that are queued for printing. </P>
<H3><A NAME="3_9_3">3.9.3 disable</A></H3>
<P>The disable command tells the scheduler to stop printing jobs on the
specified printers. </P>
<H3><A NAME="3_9_4">3.9.4 enable</A></H3>
<P>The enable command tells the scheduler to start printing jobs on the
specified printers. </P>
<H3><A NAME="3_9_5">3.9.5 lp</A></H3>
<P>The lp command submits submits files for printing. Unlike the
exits.
<H3><A NAME="3_6_10">3.6.10 Printers</A></H3>
The printers module is responsible for managing printers and PPD files
in the system. The printers module also reads and writes the printers
configuration file.
<H2><A NAME="3_7">3.7 System V Commands</A></H2>
The System V commands provide a robust command-line interface to CUPS
to submit and control printers and jobs.
<H3><A NAME="3_7_1">3.7.1 accept</A></H3>
The accept command tells the scheduler to accept new jobs for specific
printers.
<H3><A NAME="3_7_2">3.7.2 cancel</A></H3>
The cancel command tells the scheduler to cancel one or more jobs that
are queued for printing.
<H3><A NAME="3_7_3">3.7.3 disable</A></H3>
The disable command tells the scheduler to stop printing jobs on the
specified printers.
<H3><A NAME="3_7_4">3.7.4 enable</A></H3>
The enable command tells the scheduler to start printing jobs on the
specified printers.
<H3><A NAME="3_7_5">3.7.5 lp</A></H3>
The lp command submits submits files for printing. Unlike the
standard System V lp command, a single CUPS lp command will generate a
separate job ID for each file that is printed. Also, the Solaris &quot;f&quot;,
&quot;H&quot;, &quot;P&quot;, &quot;S&quot;, and &quot;y&quot; options are silently ignored. </P>
<H3><A NAME="3_9_6">3.9.6 lpadmin</A></H3>
<P>The lpadmin command manages printer queues and classes. The Solaris
&quot;H&quot;, &quot;P&quot;, &quot;S&quot;, and &quot;y&quot; options are silently ignored.
<H3><A NAME="3_7_6">3.7.6 lpadmin</A></H3>
The lpadmin command manages printer queues and classes. The Solaris
&quot;A&quot;, &quot;F&quot;, &quot;I&quot;, &quot;M&quot;, &quot;P&quot;, &quot;Q&quot;, &quot;S&quot;, &quot;T&quot;, &quot;U&quot;, &quot;W&quot;, &quot;f&quot;, &quot;l&quot;, &quot;m&quot;, &quot;o&quot;,
&quot;s&quot;, &quot;t&quot;, and &quot;u&quot; options are not supported, and new options &quot;P&quot; (PPD
file) and &quot;E&quot; (enable and accept) are provided to configure
CUPS-specific features. </P>
<H3><A NAME="3_9_7">3.9.7 lpinfo</A></H3>
<P>The lpinfo command lists the available PPD files or devices as
selected by the user. </P>
<H3><A NAME="3_9_8">3.9.8 lpmove</A></H3>
<P>The lpmove command moves a print job to a new destination. </P>
<H3><A NAME="3_9_9">3.9.9 lpoptions</A></H3>
<P>The lpoptions command manages user-defined printers and options. </P>
<H3><A NAME="3_9_10">3.9.10 lpstat</A></H3>
<P>The lpstat command lists printers, classes, and jobs as requested by
the user. </P>
<H3><A NAME="3_9_11">3.9.11 reject</A></H3>
<P>The reject command tells the scheduler not to accept new jobs for
specific printers. </P>
file), &quot;F&quot; (filter), and &quot;E&quot; (enable and accept) are provided to
configure CUPS-specific features such as PPD file and conversion
filters.
<H3><A NAME="3_7_7">3.7.7 lpstat</A></H3>
The lpstat command lists printers, classes, and jobs as requested by
the user.
<H3><A NAME="3_7_8">3.7.8 reject</A></H3>
The reject command tells the scheduler not to accept new jobs for
specific printers.
<H1 TYPE="A" VALUE="1"><A NAME="4">A Glossary</A></H1>
<H2><A NAME="4_1">A.1 Terms</A></H2>
<DL>
@@ -563,7 +468,7 @@ specific printers. </P>
<DT>HP-GL </DT>
<DD>Hewlett-Packard Graphics Language </DD>
<DT>HP-PCL </DT>
<DD>Hewlett-Packard Page Control Language </DD>
<DD>Hewlett-Packard Printer Control Language </DD>
<DT>HP-PJL </DT>
<DD>Hewlett-Packard Printer Job Language </DD>
<DT>IETF </DT>
@@ -576,6 +481,8 @@ specific printers. </P>
<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>
+636 -864
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+103 -218
Ver Arquivo
@@ -11,7 +11,7 @@
<H2>Identification</H2>
This software design description document provides general information
This software design description document provides detailed information
on the architecture and coding of the Common UNIX Printing System
(&quot;CUPS&quot;) Version 1.1.
@@ -38,7 +38,7 @@ following sections:
<H1>Design Overview</H1>
CUPS is composed of 9 software sub-systems that operate together to
CUPS is composed of 7 software sub-systems that operate together to
perform common printing tasks:
<UL>
@@ -49,11 +49,7 @@ perform common printing tasks:
<LI>CGI
<LI>CUPS Application Programmers Interface
<LI>CUPS Imaging Library
<LI>Daemons
<LI>CUPS Interface Library
<LI>Filters
@@ -91,18 +87,18 @@ All backends are called with a common set of arguments:
</UL>
<P>Backends are named using the scheme of the URI, so a URI of
Backends are named using the method of the URI, so a URI of
"ipp://hostname/resource" would be processed by the "ipp" backend.
<H3>ipp</H3>
<P>The ipp backend sends the specified job to a network printer or host using
The ipp backend sends the specified job to a network printer or host using
the Internet Printing Protocol. The URI is as specified by the
<CODE>printer-uri-supported</CODE> attribute from the printer or host.
<H3>lpd</H3>
<P>The lpd backend sends the specified job to a network printer or host using
The lpd backend sends the specified job to a network printer or host using
the Line Printer Daemon protocol. The URI is of the form:
<UL><PRE>lpd://hostname/queue
@@ -110,7 +106,7 @@ the Line Printer Daemon protocol. The URI is of the form:
<H3>parallel</H3>
<P>The parallel backend sends the specified job to a local printer connected
The parallel backend sends the specified job to a local printer connected
via the specified parallel port device. The URI is of the form:
<UL><PRE>parallel:/dev/file
@@ -118,7 +114,7 @@ via the specified parallel port device. The URI is of the form:
<H3>serial</H3>
<P>The serial backend sends the specified job to a local printer connected
The serial backend sends the specified job to a local printer connected
via the specified serial port device. The URI is of the form:
<UL><PRE>serial:/dev/file?option[+option+...]
@@ -142,7 +138,7 @@ The options can be any combination of the following:
<H3>socket</H3>
<P>The socket backend sends the specified job to a network host using the
The socket backend sends the specified job to a network host using the
AppSocket protocol commonly used by Hewlett-Packard and Tektronix
printers. The URI is of the form:
@@ -151,19 +147,11 @@ printers. The URI is of the form:
The default port number is 9100.
<H3>usb</H3>
<P>The usb backend sends the specified job to a local printer connected
via the specified usb port device. The URI is of the form:
<UL><PRE>usb:/dev/file
</PRE></UL>
<H2>Berkeley Commands</H2>
<P>The Berkeley commands provide a simple command-line interface to CUPS
The Berkeley commands provide a simple command-line interface to CUPS
to submit and control print jobs. It is provided for compatibility with
existing software that is hardcoded to use the Berkeley commands.
existing software that is hard coded to use the Berkeley commands.
<H3>lpc</H3>
@@ -179,143 +167,85 @@ commands:
</UL>
<H3>lpq</H3>
<P>The lpq command shows the current queue status.
<H3>lpr</H3>
<P>The lpr command submits a job for printing. The CUPS version of lpr silently
The lpr command submits a job for printing. The CUPS version of lpr silently
ignores the "i", "t", "m", "h", and "s" options.
<H3>lprm</H3>
<P>The lprm removes one or more print jobs.
The lprm removes one or more print jobs.
<H2>CGI</H2>
<P>The Common Gateway Interface (CGI) programs provide a web-based
status interface to monitor the status of printers, classes, and jobs.
Each of the CGIs utilize HTML template files that can be customized to
provide alternate appearances.
<H3>admin.cgi</H3>
<P>The admin CGI provides administration interfaces for printers and
classes. The user can add, modify, delete, start, stop, and configure
printers and classes using "wizard" interfaces.
The Common Gateway Interface (CGI) programs provide a web-based status interface
to monitor the status of printers, classes, and jobs.
<H3>classes.cgi</H3>
<P>The classes CGI lists the available printer classes and any pending
jobs for the class. The user can click on individual classes to limit
the display and click on jobs to see the job status.
The classes CGI lists the available printer classes and any pending jobs for
the class. The user can click on individual classes to limit the display and
click on jobs to see the job status.
<H3>jobs.cgi</H3>
<P>The jobs CGI lists the queued print jobs in order of priority. The
list can be limited by printer or job.
The jobs CGI lists the queued print jobs in order of priority. The list can
be limited by printer or job. When the user displays the status of an
individual print job all job options are displayed.
<H3>printers.cgi</H3>
<P>The printers CGI lists the available printer queues and any pending
jobs for the printer. The user can click on individual printers to
limit the display and click on jobs to see the job status.
The printers CGI lists the available printer queues and any pending jobs for
the printer. The user can click on individual printers to limit the display and
click on jobs to see the job status.
<H2>CUPS Application Programmers Interface</H2>
<H2>CUPS Interface Library</H2>
<P>The CUPS Application Programmers Interface ("API") provides common
convenience, HTTP, IPP, language, and PPD functions used by the CUPS
software.
The CUPS interface library provides common convenience, HTTP, IPP,
language, MIME, PPD, and raster functions used by the CUPS software.
<H3>Convenience Functions</H3>
<P>Convenience functions are provided to submit an IPP request, send a
print file, cancel a job, get a list of available printers, get a list
of available classes, get the default printer or class, get the default
server name, get the local username, and get a password string.
Convenience functions are provided to submit an IPP request, send a print file,
cancel a job, get a list of available printers, get a list of available
classes, get the default printer or class, get the default server name, get
the local username, and get a password string.
<H3>HTTP Functions</H3>
<P>The HTTP functions provide functions to connect to HTTP servers,
issue requests, read data from a server, and write data to a server.
The HTTP functions provide functions to connect to HTTP servers, issue requests,
read data from a server, and write data to a server.
<H3>IPP Functions</H3>
<P>The IPP function provide functions to manage IPP request data and
attributes, read IPP responses from a server, and write IPP requests to
a server.
The IPP function provide functions to manage IPP request data and attributes,
read IPP responses from a server, and write IPP requests to a server.
<H3>Language Functions</H3>
<P>The language functions provide a standard interface for retrieving
common textual messages for a particular locale and determining the
correct encoding (e.g. US ASCII, UTF-8, ISO-8859-1, etc.)
The language functions provide a standard interface for retrieving common
textual messages for a particular locale and determining the correct encoding
(e.g. US ASCII, ISO-8859-1, etc.)
<H3>MIME Functions</H3>
The Multimedia Internet Mail Exchange functions manage a MIME type and
conversion database that supports file typing by extension and content, and
least-cost file filtering from a source to a destination file type.
<H3>PPD Functions</H3>
<P>The PostScript Printer Description functions manage PPD files,
select options, check for option conflicts, and emit selected options
in the correct order.
<H2>CUPS Imaging Library</H2>
<P>The CUPS imaging library provides colorspace conversion, color
management, image management, scaling, image file, and raster functions
used by the CUPS raster filters.
<H3>Colorspace Conversion Functions</H3>
<P>The colorspace conversion functions handle conversion of grayscale
and RGB colors to grayscale, RGB, K, CMY, CMYK, and CMYKcm colorspaces.
<H3>Color Management Functions</H3>
<P>The color management functions handle gamut mapping and density
correction. These are integrated with the colorspace conversion
functions so that colorspace conversion and color management are
processed in a single step.
<H3>Image Management Functions</H3>
<P>The image management functions manage a tiled image database that is
swapped to/from disk as needed.
<H3>Scaling Functions</H3>
<P>The scaling functions provide image scaling services using
nearest-neighbor sampling and bilinear interpolation as appropriate.
<H3>Image File Functions</H3>
<P>The image file functions handle loading of all image file formats.
The PostScript Printer Description functions manage PPD files, select options,
check for option conflicts, and emit selected options in the correct order.
<H3>Raster Functions</H3>
<P>The raster functions manage streams of CUPS raster data (described
in the Interface Design Document) used by non-PostScript printer
drivers and raster filters.
<H2>Daemons</H2>
<P>The daemons provide additional network functions for the scheduler.
Currently only two daemons are provided with CUPS.
<H3>Line Printer Daemon</H3>
<P>The line printer daemon provides remote LPD client support and is
run by the <CODE>inetd(8)</CODE> daemon as needed.
<H3>Polling Daemon</H3>
<P>The polling daemon is used to poll a remote server for a list of
available printers and provide it to the scheduler for addition. A
separate polling daemon is run by the scheduler for every remote
system listed for polling in the scheduler configuration file.
The raster functions manage streams of CUPS raster data (described in the
Interface Design Document) used by non-PostScript printer drivers.
<H2>Filters</H2>
<P>The filters implement file conversion services for CUPS. All filters
The filters implement file conversion services for CUPS. All filters
are called with a common set of arguments:
<UL>
@@ -339,100 +269,80 @@ are called with a common set of arguments:
</UL>
<P>Filters are added to the MIME conversion data file and implement all
necessary conversions from one file type to another.
Filters are added to the MIME conversion data file and implement all necessary
conversions from one file type to another.
<H3>hpgltops</H3>
<P>The hpgltops filter converts HP-GL/2 files into PostScript.
The hpgltops filter converts HP-GL/2 files into PostScript.
<H3>imagetops</H3>
<P>The imagetops filter converts image files into PostScript.
The imagetops filter converts image files into PostScript.
<H3>imagetoraster</H3>
<P>The imagetoraster filter converts image files into CUPS raster data.
<H3>pdftops</H3>
<P>The pdftops filter converts PDF files into PostScript.
The imagetoraster filter converts image files into CUPS raster data.
<H3>pstops</H3>
<P>The pstops filter inserts printer-specific commands from PPD files and
The pstops filter inserts printer-specific commands from PPD files and
performs page filtering as requested by the user.
<H3>pstoraster</H3>
<P>The pstoraster filter converts PostScript program data into CUPS
raster data.
<H3>rastertoepson</H3>
<P>The rastertoepson filter handles converting CUPS raster data to
ESC/P and supports both color and black-and-white printers.
The pstoraster filter converts PostScript program data into CUPS raster data.
<H3>rastertohp</H3>
<P>The rastertohp filter handles converting CUPS raster data to HP-PCL
and supports both color and black-and-white printers.
The rastertohp filter handles converting CUPS raster data to HP PCL and
supports both color and black-and-white printers.
<H3>texttops</H3>
<P>The texttops filter converts text files into PostScript.
The texttops filter converts text files into PostScript.
<H2>Scheduler</H2>
<P>The scheduler is a fully-functional HTTP/1.1 and IPP/1.1 server that
The scheduler is a fully-functional HTTP/1.1 and IPP/1.1 server that
manages the printers, classes, and jobs in the system. It also handles
a simple broadcast-based directory service so that remote print queues
and classes can be accessed transparently from the local system.
<H3>Authorization</H3>
<P>The authorization module is responsible for performing access
control and authentication for all HTTP and IPP requests entering the
system.
The authorization module is responsible for performing access control and
authentication for all HTTP and IPP requests entering the system.
<H3>Classes</H3>
<P>The classes module is responsible for managing printer classes in
the system. Each class is a collection of local and/or remote
printers. The classes module also reads and writes the classes
configuration file.
The classes module is responsible for managing printer classes in the system.
Each class is a collection of local and/or remote printers. The classes module
also reads and writes the classes configuration file.
<H3>Client</H3>
<P>The client module is responsible for all HTTP client
communications. It handles listening on selected interfaces, accepting
connections from prospective clients, processing incoming HTTP
requests, and sending HTTP responses to those requests. The client
module also is responsible for executing the external CGI programs as
needed to support web-based printer, class, and job status monitoring
and administration.
The client module is responsible for all HTTP client communications. It handles
listening on selected interfaces, accepting connections from prospective
clients, processing incoming HTTP requests, and sending HTTP responses to
those requests. The client module also is responsible for executing the
external CGI programs as needed to support web-based printer, class, and job
status monitoring.
<P>Once authorized, all IPP requests are sent to the IPP module.
<H3>Configuration</H3>
<P>The configuration module is responsible for reading the CUPS
configuration file and initializing the appropriate data structures and
values. The configuration module also stops CUPS services before
reading the configuration file and restarts them after the
configuration file has been read.
<H3>Devices</H3>
<P>The devices module is responsible for managing the list of available
devices for the CUPS-Get-Devices operation.
The configuration module is responsible for reading the CUPS configuration file
and initializing the appropriate data structures and values. The configuration
module also stops CUPS services before reading the configuration file and
restarts them after the configuration file has been read.
<H3>Directory Services</H3>
<P>The directory services module sends and recieves printer state
information over a broadcast socket. Remote printers and classes are
automatically added to or removed from the local printer and class
lists as needed.
The directory services module sends and recieves printer state information over
a broadcast socket. Remote printers and classes are automatically added to or
removed from the local printer and class lists as needed.
<P>The directory services module can only recieve printer state information
over a single UDP port, however it can broadcast to multiple addresses and
@@ -440,108 +350,83 @@ ports as needed.
<H3>IPP</H3>
<P>The IPP module handles IPP requests and acts accordingly. URI
The IPP module handles IPP requests and acts accordingly. URI
validation is also performed here, as a client can post IPP data to any
URI on the server which might sidestep the access control or
authentication of the HTTP server.
<H3>Jobs</H3>
<P>The jobs module manages print jobs, starts filter and backend
processes for jobs to be printed, and monitors status messages from
those filters and backends.
The jobs module manages print jobs, starts filter and backend processes
for jobs to be printed, and monitors status messages from those filters
and backends.
<H3>Logging</H3>
<P>The logging module manages the access, error, and page log files
that are generated by the scheduler.
The logging module manages the access, error, and page log files that are
generated by the scheduler.
<H3>Main</H3>
<P>The main module is responsible for timing out and dispatching input
and output for client connections. It also watches for incoming
<CODE>SIGHUP</CODE> and <CODE>SIGCHLD</CODE> signals, reloads the
server configuration files as needed, and handles child process errors
and exits.
<H3>MIME</H3>
<P>The Multimedia Internet Mail Exchange module manages a MIME type and
conversion database that supports file typing by extension and content
and least-cost file filtering from a source to a destination file type.
<H3>PPDs</H3>
<P>The PPDs module is responsible for managing the list of available
PPD files for the CUPS-Get-PPDs operation.
The main module is responsible for timing out and dispatching input and output
for client connections. It also watches for incoming <CODE>SIGHUP</CODE>
and <CODE>SIGCHLD</CODE> signals, reloads the server configuration files as
needed, and handles child process errors and exits.
<H3>Printers</H3>
<P>The printers module is responsible for managing printers and PPD
files in the system. The printers module also reads and writes the
printers configuration file.
The printers module is responsible for managing printers and PPD files
in the system. The printers module also reads and writes the printers
configuration file.
<H2>System V Commands</H2>
<P>The System V commands provide a robust command-line interface to
CUPS to submit and control printers and jobs.
The System V commands provide a robust command-line interface to CUPS
to submit and control printers and jobs.
<H3>accept</H3>
<P>The accept command tells the scheduler to accept new jobs for specific
The accept command tells the scheduler to accept new jobs for specific
printers.
<H3>cancel</H3>
<P>The cancel command tells the scheduler to cancel one or more jobs that are
The cancel command tells the scheduler to cancel one or more jobs that are
queued for printing.
<H3>disable</H3>
<P>The disable command tells the scheduler to stop printing jobs on the
The disable command tells the scheduler to stop printing jobs on the
specified printers.
<H3>enable</H3>
<P>The enable command tells the scheduler to start printing jobs on the
The enable command tells the scheduler to start printing jobs on the
specified printers.
<H3>lp</H3>
<P>The lp command submits submits files for printing. Unlike the standard
The lp command submits submits files for printing. Unlike the standard
System V lp command, a single CUPS lp command will generate a separate
job ID for each file that is printed. Also, the Solaris "f", "H", "P", "S",
and "y" options are silently ignored.
<H3>lpadmin</H3>
<P>The lpadmin command manages printer queues and classes. The Solaris
The lpadmin command manages printer queues and classes. The Solaris
"A", "F", "I", "M", "P", "Q", "S", "T", "U", "W", "f", "l", "m", "o",
"s", "t", and "u" options are not supported, and new options "P" (PPD
file) and "E" (enable and accept) are provided to configure
CUPS-specific features.
<H3>lpinfo</H3>
<P>The lpinfo command lists the available PPD files or devices as selected
by the user.
<H3>lpmove</H3>
<P>The lpmove command moves a print job to a new destination.
<H3>lpoptions</H3>
<P>The lpoptions command manages user-defined printers and options.
file), "F" (filter), and "E" (enable and accept) are provided to configure
CUPS-specific features such as PPD file and conversion filters.
<H3>lpstat</H3>
<P>The lpstat command lists printers, classes, and jobs as requested by the
The lpstat command lists printers, classes, and jobs as requested by the
user.
<H3>reject</H3>
<P>The reject command tells the scheduler not to accept new jobs for specific
The reject command tells the scheduler not to accept new jobs for specific
printers.
<EMBED SRC="glossary.shtml">
+2562 -6111
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff

Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais