Comparar commits

..

1 Commits

Autor SHA1 Mensagem Data
msweet 8ed41c5f72 Import cups.org releases
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/tags/release-1.0b9@4306 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-10 18:56:23 +00:00
97 arquivos alterados com 4658 adições e 5143 exclusões
-25
Ver Arquivo
@@ -1,25 +0,0 @@
CREDITS.txt - 10/01/1999
------------------------
Few projects are completed by one person, and CUPS is no exception. We'd
like to thank the following individuals for their contributions:
Nathaniel Barbour - Lots of testing and feedback.
N. Becker - setsid().
Jean-Eric Cuendet - GhostScript filters for CUPS.
Van Dang - HTTP and IPP policeman.
Dr. ZP Han - setgid()/setuid().
Guy Harris - *BSD shared libraries and lots of other fixes.
Wang Jian - CUPS RPM corrections.
Roderick Johnstone - Beta tester of the millenium.
Sergey V. Kovalyov - ESP Print Pro and CUPS beta tester.
Mark Lawrence - Microsoft interoperability testing.
Jason McMullan - Original CUPS RPM distributions.
Wes Morgan - *BSD fixes.
Ulrich Oldendorf - German locale.
Petter Reinholdtsen - HP-UX compiler stuff.
Stuart Stevens - HP JetDirect IPP information.
Kiko - Bug fixes.
If I've missed someone, please let me know by sending an email to
"mike@easysw.com".
-1
Ver Arquivo
@@ -37,7 +37,6 @@ DSO = @DSO@
HTMLDOC = @HTMLDOC@
LN = /bin/ln -sf
MKDIR = @MKDIR@ -p
MV = @MV@
NROFF = @NROFF@
PACK = @PACK@
RANLIB = @RANLIB@
+15 -4
Ver Arquivo
@@ -1,5 +1,15 @@
README - CUPS v1.0 - 10/01/1999
-------------------------------
README - CUPS v1.0b9 - 09/03/1999
---------------------------------
BETA SOFTWARE BETA SOFTWARE BETA SOFTWARE BETA SOFTWARE BETA SOFTWARE
WARNING - This is a BETA release of CUPS, which means that it may
contain "bugs" that could prevent you from printing. If
you are concerned that this may cause you lost time or
money, please STOP and do not install this software!
BETA SOFTWARE BETA SOFTWARE BETA SOFTWARE BETA SOFTWARE BETA SOFTWARE
INTRODUCTION
@@ -10,8 +20,9 @@ and users. CUPS provides the System V and Berkeley command-line
interfaces.
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.
managing print jobs and queues. The Line Printer Daemon (LPD,
RFC1179), Server Message Block (SMB), and AppSocket protocols are also
supported with reduced functionality.
CUPS adds network printer browsing and PostScript Printer Description
("PPD")-based printing options to support real world applications under
+14 -1
Ver Arquivo
@@ -24,7 +24,7 @@
include ../Makedefs
TARGETS = ipp lpd parallel serial socket
TARGETS = ipp lpd parallel serial smb socket
OBJS = ipp.o lpd.o parallel.o serial.o socket.o
#
@@ -91,6 +91,19 @@ serial: serial.o ../cups/$(LIBCUPS)
serial.o: ../cups/cups.h ../Makedefs
#
# smb
#
# Note: reading through these commands is a good way to get a headache... :)
#
smb: smb.sh ../Makedefs
echo Generating $@...
$(RM) smb
sedcmd="1,\$$s/^SMBCLIENT=.\*/SMBCLIENT=`echo $(SMBCLIENT) | sed -e '1,$$s/\\//\\\\\\//g'`/" ;\
$(SED) -e "$$sedcmd" <smb.sh >smb
$(CHMOD) +x smb
#
# socket
#
Arquivo executável
+88
Ver Arquivo
@@ -0,0 +1,88 @@
#!/bin/sh
#
# "$Id$"
#
# SMB printing script for the Common UNIX Printing System (CUPS).
#
# Copyright 1993-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
# 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
# 44145 Airport View Drive, Suite 204
# Hollywood, Maryland 20636-3111 USA
#
# Voice: (301) 373-9603
# EMail: cups-info@cups.org
# WWW: http://www.cups.org
#
SMBCLIENT=/usr/local/samba/bin/smbclient
#
# Usage:
#
# printer job user title copies options [filename]
#
if [ $# -lt 5 -o $# -gt 6 ]; then
# Too few or too many arguments
echo 'Usage: smb job-id user title copies options [file]' >&2
exit 1
fi
#
# If "filename" is not on the command-line, then we read the print
# data from stdin and write it to a temporary file.
#
if [ $# = 5 ]; then
# Collect all print data and put it in a temporary file...
if [ "$TMPDIR" = "" ]; then
TMPDIR=/var/tmp
fi
filename="$TMPDIR/$$.smb"
cat >$filename
else
# Use the file on the command-line...
filename="$6"
fi
#
# Take apart the URI in $0...
#
uri="$0"
host=`echo $uri | awk -F/ '{print substr($3, index($3, "@") + 1)}'`
user=`echo $uri | awk -F/ '{print substr($3, 0, index($3, "@") - 1)}'`
if [ "$user" != "" ]; then
user="-U $user"
fi
printer=`echo $uri | awk -F/ '{print $4}'`
#
# Send the file to the remote system...
#
$SMBCLIENT //$host/$printer $user -P -N <<EOF
print $filename
EOF
#
# Lastly, remove the temporary file as needed...
#
if [ $# = 5 ]; then
rm -f $filename
fi
#
# End of "$Id$".
#
-8
Ver Arquivo
@@ -433,15 +433,7 @@ show_status(http_t *http, /* I - HTTP connection to server */
if (strncmp(device, "file:", 5) == 0)
printf("\tprinter is on device \'%s\' speed -1\n", device + 5);
else
{
/*
* Just show the method...
*/
*strchr(device, ':') = '\0';
printf("\tprinter is on device \'%s\' speed -1\n", device);
}
printf("\tqueuing is %sabled\n", accepting ? "en" : "dis");
printf("\tprinting is %sabled\n",
pstate == IPP_PRINTER_STOPPED ? "dis" : "en");
+9 -10
Ver Arquivo
@@ -38,7 +38,6 @@
#include <cups/cups.h>
#include <cups/language.h>
#include <cups/debug.h>
#include <config.h>
/*
@@ -100,22 +99,18 @@ main(int argc, /* I - Number of command-line arguments */
puts("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"10\">");
else
puts("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"30\">");
printf("<TITLE>%s on %s - " CUPS_SVERSION "</TITLE>\n",
printf("<TITLE>%s on %s - Common UNIX Printing System</TITLE>\n",
name == NULL ? "Classes" : name, getenv("SERVER_NAME"));
puts("<LINK REL=STYLESHEET TYPE=\"text/css\" HREF=\"/cups.css\">");
puts("<MAP NAME=\"navbar\">");
#ifdef ESPPRINTPRO
puts("<AREA SHAPE=\"RECT\" COORDS=\"10,10,76,30\" HREF=\"printers\" ALT=\"Current Printer Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"88,10,158,30\" HREF=\"classes\" ALT=\"Current Printer Classes Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"170,10,210,30\" HREF=\"jobs\" ALT=\"Current Jobs Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"222,10,354,30\" HREF=\"documentation.html\" ALT=\"Read CUPS Documentation On-Line\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"366,10,442,30\" HREF=\"http://www.easysw.com/printpro/software.html\" ALT=\"Download the Current ESP Print Pro Software\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"454,10,530,30\" HREF=\"http://www.easysw.com/printpro/support.html\" ALT=\"Get Tech Support for Current ESP Print Pro\">");
#else
puts("<AREA SHAPE=\"RECT\" COORDS=\"10,10,85,30\" HREF=\"/printers\" ALT=\"Current Printer Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"95,10,175,30\" HREF=\"/classes\" ALT=\"Current Printer Classes Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"185,10,235,30\" HREF=\"/jobs\" ALT=\"Current Jobs Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"245,10,395,30\" HREF=\"/documentation.html\" ALT=\"Read CUPS Documentation On-Line\">");
#ifdef ESPPRINTPRO
puts("<AREA SHAPE=\"RECT\" COORDS=\"405,10,490,30\" HREF=\"http://www.easysw.com/printpro/software.html\" ALT=\"Download the Current ESP Print Pro Software\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"505,10,585,30\" HREF=\"http://www.easysw.com/printpro/support.html\" ALT=\"Get Tech Support for Current ESP Print Pro\">");
#else
puts("<AREA SHAPE=\"RECT\" COORDS=\"405,10,490,30\" HREF=\"http://www.cups.org\" ALT=\"Download the Current CUPS Software\">");
#endif /* ESPPRINTPRO */
puts("</MAP>");
@@ -124,7 +119,11 @@ main(int argc, /* I - Number of command-line arguments */
puts("<P ALIGN=CENTER>");
puts("<A HREF=\"http://www.easysw.com\" ALT=\"Easy Software Products Home Page\">");
puts("<IMG SRC=\"/images/logo.gif\" WIDTH=\"71\" HEIGHT=\"40\" BORDER=0 ALT=\"Easy Software Products Home Page\"></A>");
#ifdef ESPPRINTPRO
puts("<IMG SRC=\"/images/navbar.gif\" WIDTH=\"600\" HEIGHT=\"40\" USEMAP=\"#navbar\" BORDER=0>");
#else
puts("<IMG SRC=\"/images/navbar.gif\" WIDTH=\"540\" HEIGHT=\"40\" USEMAP=\"#navbar\" BORDER=0>");
#endif /* ESPPRINTPRO */
printf("<H1>%s on %s</H1>\n", name == NULL ? "Classes" : name,
getenv("SERVER_NAME"));
+9 -10
Ver Arquivo
@@ -38,7 +38,6 @@
#include <cups/cups.h>
#include <cups/language.h>
#include <cups/debug.h>
#include <config.h>
/*
@@ -100,22 +99,18 @@ main(int argc, /* I - Number of command-line arguments */
puts("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"10\">");
else
puts("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"30\">");
printf("<TITLE>%s on %s - " CUPS_SVERSION "</TITLE>\n",
printf("<TITLE>%s on %s - Common UNIX Printing System</TITLE>\n",
job == NULL ? "Jobs" : job, getenv("SERVER_NAME"));
puts("<LINK REL=STYLESHEET TYPE=\"text/css\" HREF=\"/cups.css\">");
puts("<MAP NAME=\"navbar\">");
#ifdef ESPPRINTPRO
puts("<AREA SHAPE=\"RECT\" COORDS=\"10,10,76,30\" HREF=\"printers\" ALT=\"Current Printer Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"88,10,158,30\" HREF=\"classes\" ALT=\"Current Printer Classes Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"170,10,210,30\" HREF=\"jobs\" ALT=\"Current Jobs Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"222,10,354,30\" HREF=\"documentation.html\" ALT=\"Read CUPS Documentation On-Line\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"366,10,442,30\" HREF=\"http://www.easysw.com/printpro/software.html\" ALT=\"Download the Current ESP Print Pro Software\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"454,10,530,30\" HREF=\"http://www.easysw.com/printpro/support.html\" ALT=\"Get Tech Support for Current ESP Print Pro\">");
#else
puts("<AREA SHAPE=\"RECT\" COORDS=\"10,10,85,30\" HREF=\"/printers\" ALT=\"Current Printer Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"95,10,175,30\" HREF=\"/classes\" ALT=\"Current Printer Classes Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"185,10,235,30\" HREF=\"/jobs\" ALT=\"Current Jobs Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"245,10,395,30\" HREF=\"/documentation.html\" ALT=\"Read CUPS Documentation On-Line\">");
#ifdef ESPPRINTPRO
puts("<AREA SHAPE=\"RECT\" COORDS=\"405,10,490,30\" HREF=\"http://www.easysw.com/printpro/software.html\" ALT=\"Download the Current ESP Print Pro Software\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"505,10,585,30\" HREF=\"http://www.easysw.com/printpro/support.html\" ALT=\"Get Tech Support for Current ESP Print Pro\">");
#else
puts("<AREA SHAPE=\"RECT\" COORDS=\"405,10,490,30\" HREF=\"http://www.cups.org\" ALT=\"Download the Current CUPS Software\">");
#endif /* ESPPRINTPRO */
puts("</MAP>");
@@ -124,7 +119,11 @@ main(int argc, /* I - Number of command-line arguments */
puts("<P ALIGN=CENTER>");
puts("<A HREF=\"http://www.easysw.com\" ALT=\"Easy Software Products Home Page\">");
puts("<IMG SRC=\"/images/logo.gif\" WIDTH=\"71\" HEIGHT=\"40\" BORDER=0 ALT=\"Easy Software Products Home Page\"></A>");
#ifdef ESPPRINTPRO
puts("<IMG SRC=\"/images/navbar.gif\" WIDTH=\"600\" HEIGHT=\"40\" USEMAP=\"#navbar\" BORDER=0>");
#else
puts("<IMG SRC=\"/images/navbar.gif\" WIDTH=\"540\" HEIGHT=\"40\" USEMAP=\"#navbar\" BORDER=0>");
#endif /* ESPPRINTPRO */
fflush(stdout);
+9 -10
Ver Arquivo
@@ -38,7 +38,6 @@
#include <cups/cups.h>
#include <cups/language.h>
#include <cups/debug.h>
#include <config.h>
/*
@@ -100,22 +99,18 @@ main(int argc, /* I - Number of command-line arguments */
puts("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"10\">");
else
puts("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"30\">");
printf("<TITLE>%s on %s - " CUPS_SVERSION "</TITLE>\n",
printf("<TITLE>%s on %s - Common UNIX Printing System</TITLE>\n",
printer == NULL ? "Printers" : printer, getenv("SERVER_NAME"));
puts("<LINK REL=STYLESHEET TYPE=\"text/css\" HREF=\"/cups.css\">");
puts("<MAP NAME=\"navbar\">");
#ifdef ESPPRINTPRO
puts("<AREA SHAPE=\"RECT\" COORDS=\"10,10,76,30\" HREF=\"printers\" ALT=\"Current Printer Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"88,10,158,30\" HREF=\"classes\" ALT=\"Current Printer Classes Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"170,10,210,30\" HREF=\"jobs\" ALT=\"Current Jobs Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"222,10,354,30\" HREF=\"documentation.html\" ALT=\"Read CUPS Documentation On-Line\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"366,10,442,30\" HREF=\"http://www.easysw.com/printpro/software.html\" ALT=\"Download the Current ESP Print Pro Software\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"454,10,530,30\" HREF=\"http://www.easysw.com/printpro/support.html\" ALT=\"Get Tech Support for Current ESP Print Pro\">");
#else
puts("<AREA SHAPE=\"RECT\" COORDS=\"10,10,85,30\" HREF=\"/printers\" ALT=\"Current Printer Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"95,10,175,30\" HREF=\"/classes\" ALT=\"Current Printer Classes Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"185,10,235,30\" HREF=\"/jobs\" ALT=\"Current Jobs Status\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"245,10,395,30\" HREF=\"/documentation.html\" ALT=\"Read CUPS Documentation On-Line\">");
#ifdef ESPPRINTPRO
puts("<AREA SHAPE=\"RECT\" COORDS=\"405,10,490,30\" HREF=\"http://www.easysw.com/printpro/software.html\" ALT=\"Download the Current ESP Print Pro Software\">");
puts("<AREA SHAPE=\"RECT\" COORDS=\"505,10,585,30\" HREF=\"http://www.easysw.com/printpro/support.html\" ALT=\"Get Tech Support for Current ESP Print Pro\">");
#else
puts("<AREA SHAPE=\"RECT\" COORDS=\"405,10,490,30\" HREF=\"http://www.cups.org\" ALT=\"Download the Current CUPS Software\">");
#endif /* ESPPRINTPRO */
puts("</MAP>");
@@ -124,7 +119,11 @@ main(int argc, /* I - Number of command-line arguments */
puts("<P ALIGN=CENTER>");
puts("<A HREF=\"http://www.easysw.com\" ALT=\"Easy Software Products Home Page\">");
puts("<IMG SRC=\"/images/logo.gif\" WIDTH=\"71\" HEIGHT=\"40\" BORDER=0 ALT=\"Easy Software Products Home Page\"></A>");
#ifdef ESPPRINTPRO
puts("<IMG SRC=\"/images/navbar.gif\" WIDTH=\"600\" HEIGHT=\"40\" USEMAP=\"#navbar\" BORDER=0>");
#else
puts("<IMG SRC=\"/images/navbar.gif\" WIDTH=\"540\" HEIGHT=\"40\" USEMAP=\"#navbar\" BORDER=0>");
#endif /* ESPPRINTPRO */
printf("<H1>%s on %s</H1>\n", printer == NULL ? "Printers" : printer,
getenv("SERVER_NAME"));
+2 -9
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id: classes.conf 678 1999-09-22 18:10:55Z mike $"
# "$Id: classes.conf 333 1999-05-17 18:03:40Z mike $"
#
# Sample class configuration file for the Common UNIX Printing System
# (CUPS) scheduler.
@@ -59,13 +59,6 @@
#Location Room 101 in the activities building
#
# Accepting: is the class accepting jobs?
#
#Accepting Yes
#Accepting No
#
#
# Printer: adds a printer to the class.
#
@@ -75,5 +68,5 @@
#</Class>
#
# End of "$Id: classes.conf 678 1999-09-22 18:10:55Z mike $".
# End of "$Id: classes.conf 333 1999-05-17 18:03:40Z mike $".
#
-2
Ver Arquivo
@@ -1,2 +0,0 @@
# This is a dummy printcap file that is automatically generated by the
# CUPS software for old applications that rely on it.
+3 -10
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id: printers.conf 678 1999-09-22 18:10:55Z mike $"
# "$Id: printers.conf 334 1999-05-17 18:11:26Z mike $"
#
# Sample printer configuration file for the Common UNIX Printing System
# (CUPS) scheduler.
@@ -77,20 +77,13 @@
# State: sets the initial state of the printer. Can be one of the
# following:
#
# Idle - Printer is available to print new jobs.
# Idle - Printer is available to accept new jobs.
# Stopped - Printer is disabled but accepting new jobs.
#
#State Idle
#
# Accepting: is the printer accepting jobs?
#
#Accepting Yes
#Accepting No
#</Printer>
#
# End of "$Id: printers.conf 678 1999-09-22 18:10:55Z mike $".
# End of "$Id: printers.conf 334 1999-05-17 18:11:26Z mike $".
#
-309
Ver Arquivo
@@ -1,309 +0,0 @@
#
# "$Id: cups.spec 714 1999-10-01 14:40:53Z mike $"
#
# RPM "spec" file for the Common UNIX Printing System (CUPS).
#
# Original version by Jason McMullan <jmcc@ontv.com>.
#
# Copyright 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
# 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
#
Summary: Common Unix Printing System
Name: cups
Version: 1.0
Release: 0
Copyright: GPL
Group: System Environment/Daemons
Source: ftp://ftp.easysw.com/pub/cups/beta/cups-1.0-source.tar.gz
Url: http://www.cups.org
Packager: Michael Sweet <mike@easysw.com>
Vendor: Easy Software Products
# use buildroot so as not to disturb the version already installed
BuildRoot: /tmp/rpmbuild
Conflicts: lpr
%package devel
Summary: Common Unix Printing System - development environment
Group: Development/Libraries
%description
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.
%description devel
The Common UNIX Printing System provides a portable printing layer for
UNIX® operating systems. This is the development package for creating
additional printer drivers, and other CUPS services.
%prep
%setup
%build
./configure
# If we got this far, all prerequisite libraries must be here.
make
%install
# these lines just make sure the directory structure in the
# RPM_BUILD_ROOT exists
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/etc
mkdir -p $RPM_BUILD_ROOT/etc/rc.d
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
mkdir -p $RPM_BUILD_ROOT/usr
mkdir -p $RPM_BUILD_ROOT/usr/bin
mkdir -p $RPM_BUILD_ROOT/usr/lib
mkdir -p $RPM_BUILD_ROOT/usr/man
mkdir -p $RPM_BUILD_ROOT/usr/man/man1
mkdir -p $RPM_BUILD_ROOT/usr/man/man5
mkdir -p $RPM_BUILD_ROOT/usr/man/man8
mkdir -p $RPM_BUILD_ROOT/usr/share/locale
mkdir -p $RPM_BUILD_ROOT/var/cups
mkdir -p $RPM_BUILD_ROOT/var/cups/conf
mkdir -p $RPM_BUILD_ROOT/var/cups/logs
mkdir -p $RPM_BUILD_ROOT/var/logs
ln -sf /var/cups/logs $RPM_BUILD_ROOT/var/logs/cups
ln -sf /var/cups/conf $RPM_BUILD_ROOT/etc/cups
make prefix=$RPM_BUILD_ROOT/usr DATADIR=$RPM_BUILD_ROOT/usr/share/cups LOCALEDIR=$RPM_BUILD_ROOT/usr/share/locale SERVERROOT=$RPM_BUILD_ROOT/var/cups install
$RPM_BUILD_ROOT/etc/rc.d/init.d/cups
install -m 755 -o root -g root cups.sh $RPM_BUILD_ROOT/etc/rc.d/init.d/cups
%post
/sbin/chkconfig --add cups
%preun
/sbin/chkconfig --del cups
%clean
rm -rf $RPM_BUILD_ROOT
%files
/etc/rc.d/init.d/cups
%config /var/cups/conf/classes.conf
%config /var/cups/conf/cupsd.conf
%config /var/cups/conf/mime.convs
%config /var/cups/conf/mime.types
%config /var/cups/conf/printers.conf
/usr/bin/lpr
/usr/bin/lprm
/usr/bin/disable
/usr/bin/enable
/usr/bin/cancel
/usr/bin/lp
/usr/bin/lpstat
/usr/lib/accept
/usr/lib/libcups.so.1
/usr/lib/libcupsimage.so.1
/usr/lib/lpadmin
/usr/lib/reject
/usr/man/man1/backend.1
/usr/man/man1/filter.1
/usr/man/man1/lprm.1
/usr/man/man1/lpr.1
/usr/man/man1/lpstat.1
/usr/man/man1/lp.1
/usr/man/man1/cancel.1
/usr/man/man5/classes.conf.5
/usr/man/man5/cupsd.conf.5
/usr/man/man5/mime.convs.5
/usr/man/man5/mime.types.5
/usr/man/man5/printers.conf.5
/usr/man/man8/accept.8
/usr/man/man8/cupsd.8
/usr/man/man8/enable.8
/usr/man/man8/lpadmin.8
/usr/man/man8/lpc.8
/usr/man/man8/reject.8
/usr/man/man8/disable.8
/usr/sbin/accept
/usr/sbin/cupsd
/usr/sbin/lpadmin
/usr/sbin/lpc
/usr/sbin/reject
%dir /usr/share/cups
/usr/share/cups/data/8859-1
/usr/share/cups/data/8859-14
/usr/share/cups/data/8859-15
/usr/share/cups/data/8859-2
/usr/share/cups/data/8859-3
/usr/share/cups/data/8859-4
/usr/share/cups/data/8859-5
/usr/share/cups/data/8859-6
/usr/share/cups/data/8859-7
/usr/share/cups/data/8859-8
/usr/share/cups/data/8859-9
/usr/share/cups/data/HPGLprolog
/usr/share/cups/data/psglyphs
/usr/share/cups/doc/cmp.html
/usr/share/cups/doc/cmp.pdf
/usr/share/cups/doc/cups.css
/usr/share/cups/doc/cupsdoc.css
/usr/share/cups/doc/documentation.html
/usr/share/cups/doc/idd.html
/usr/share/cups/doc/idd.pdf
/usr/share/cups/doc/images/classes.gif
/usr/share/cups/doc/images/cups-block-diagram.gif
/usr/share/cups/doc/images/cups-large.gif
/usr/share/cups/doc/images/cups-medium.gif
/usr/share/cups/doc/images/cups-small.gif
/usr/share/cups/doc/images/logo.gif
/usr/share/cups/doc/images/navbar.gif
/usr/share/cups/doc/images/printer-idle.gif
/usr/share/cups/doc/images/printer-processing.gif
/usr/share/cups/doc/images/printer-stopped.gif
/usr/share/cups/doc/index.html
/usr/share/cups/doc/overview.html
/usr/share/cups/doc/overview.pdf
/usr/share/cups/doc/sam.html
/usr/share/cups/doc/sam.pdf
/usr/share/cups/doc/sdd.html
/usr/share/cups/doc/sdd.pdf
/usr/share/cups/doc/ssr.html
/usr/share/cups/doc/ssr.pdf
/usr/share/cups/doc/stp.html
/usr/share/cups/doc/stp.pdf
/usr/share/cups/doc/sum.html
/usr/share/cups/doc/sum.pdf
/usr/share/cups/doc/svd.html
/usr/share/cups/doc/svd.pdf
/usr/share/cups/fonts/AvantGarde-Book
/usr/share/cups/fonts/AvantGarde-BookOblique
/usr/share/cups/fonts/AvantGarde-Demi
/usr/share/cups/fonts/AvantGarde-DemiOblique
/usr/share/cups/fonts/Bookman-Demi
/usr/share/cups/fonts/Bookman-DemiItalic
/usr/share/cups/fonts/Bookman-Light
/usr/share/cups/fonts/Bookman-LightItalic
/usr/share/cups/fonts/Courier
/usr/share/cups/fonts/Courier-Bold
/usr/share/cups/fonts/Courier-BoldOblique
/usr/share/cups/fonts/Courier-Oblique
/usr/share/cups/fonts/Helvetica
/usr/share/cups/fonts/Helvetica-Bold
/usr/share/cups/fonts/Helvetica-BoldOblique
/usr/share/cups/fonts/Helvetica-Narrow
/usr/share/cups/fonts/Helvetica-Narrow-Bold
/usr/share/cups/fonts/Helvetica-Narrow-BoldOblique
/usr/share/cups/fonts/Helvetica-Narrow-Oblique
/usr/share/cups/fonts/Helvetica-Oblique
/usr/share/cups/fonts/NewCenturySchlbk-Bold
/usr/share/cups/fonts/NewCenturySchlbk-BoldItalic
/usr/share/cups/fonts/NewCenturySchlbk-Italic
/usr/share/cups/fonts/NewCenturySchlbk-Roman
/usr/share/cups/fonts/Palatino-Bold
/usr/share/cups/fonts/Palatino-BoldItalic
/usr/share/cups/fonts/Palatino-Italic
/usr/share/cups/fonts/Palatino-Roman
/usr/share/cups/fonts/Symbol
/usr/share/cups/fonts/Times-Bold
/usr/share/cups/fonts/Times-BoldItalic
/usr/share/cups/fonts/Times-Italic
/usr/share/cups/fonts/Times-Roman
/usr/share/cups/fonts/Utopia-Bold
/usr/share/cups/fonts/Utopia-BoldItalic
/usr/share/cups/fonts/Utopia-Italic
/usr/share/cups/fonts/Utopia-Regular
/usr/share/cups/fonts/ZapfChancery-MediumItalic
/usr/share/cups/fonts/ZapfDingbats
/usr/share/cups/model/deskjet.ppd
/usr/share/cups/model/laserjet.ppd
/usr/share/cups/pstoraster/Fontmap
/usr/share/cups/pstoraster/gs_btokn.ps
/usr/share/cups/pstoraster/gs_ccfnt.ps
/usr/share/cups/pstoraster/gs_cidfn.ps
/usr/share/cups/pstoraster/gs_cmap.ps
/usr/share/cups/pstoraster/gs_cmdl.ps
/usr/share/cups/pstoraster/gs_dbt_e.ps
/usr/share/cups/pstoraster/gs_diskf.ps
/usr/share/cups/pstoraster/gs_dps1.ps
/usr/share/cups/pstoraster/gs_fform.ps
/usr/share/cups/pstoraster/gs_fonts.ps
/usr/share/cups/pstoraster/gs_init.ps
/usr/share/cups/pstoraster/gs_iso_e.ps
/usr/share/cups/pstoraster/gs_kanji.ps
/usr/share/cups/pstoraster/gs_ksb_e.ps
/usr/share/cups/pstoraster/gs_l2img.ps
/usr/share/cups/pstoraster/gs_lev2.ps
/usr/share/cups/pstoraster/gs_mex_e.ps
/usr/share/cups/pstoraster/gs_mro_e.ps
/usr/share/cups/pstoraster/gs_pdf.ps
/usr/share/cups/pstoraster/gs_pdf_e.ps
/usr/share/cups/pstoraster/gs_pdfwr.ps
/usr/share/cups/pstoraster/gs_pfile.ps
/usr/share/cups/pstoraster/gs_res.ps
/usr/share/cups/pstoraster/gs_setpd.ps
/usr/share/cups/pstoraster/gs_statd.ps
/usr/share/cups/pstoraster/gs_std_e.ps
/usr/share/cups/pstoraster/gs_sym_e.ps
/usr/share/cups/pstoraster/gs_ttf.ps
/usr/share/cups/pstoraster/gs_typ42.ps
/usr/share/cups/pstoraster/gs_type1.ps
/usr/share/cups/pstoraster/gs_wan_e.ps
/usr/share/cups/pstoraster/gs_wl1_e.ps
/usr/share/cups/pstoraster/gs_wl2_e.ps
/usr/share/cups/pstoraster/gs_wl5_e.ps
/usr/share/cups/pstoraster/pdf_2ps.ps
/usr/share/cups/pstoraster/pdf_base.ps
/usr/share/cups/pstoraster/pdf_draw.ps
/usr/share/cups/pstoraster/pdf_font.ps
/usr/share/cups/pstoraster/pdf_main.ps
/usr/share/cups/pstoraster/pdf_sec.ps
/usr/share/cups/pstoraster/pfbtogs.ps
%dir /var/cups
/var/cups/backend/http
/var/cups/backend/ipp
/var/cups/backend/lpd
/var/cups/backend/parallel
/var/cups/backend/serial
/var/cups/backend/socket
/var/cups/cgi-bin/classes.cgi
/var/cups/cgi-bin/jobs.cgi
/var/cups/cgi-bin/printers.cgi
/var/cups/conf
/var/cups/filter/hpgltops
/var/cups/filter/imagetops
/var/cups/filter/imagetoraster
/var/cups/filter/pstops
/var/cups/filter/pstoraster
/var/cups/filter/rastertohp
/var/cups/filter/texttops
%dir /var/cups/interfaces
%dir /var/cups/logs
%dir /var/cups/ppd
%dir /var/cups/requests
%files devel
%dir /usr/include/cups
/usr/include/cups/cups.h
/usr/include/cups/http.h
/usr/include/cups/ipp.h
/usr/include/cups/language.h
/usr/include/cups/mime.h
/usr/include/cups/ppd.h
/usr/include/cups/raster.h
#
# End of "$Id: cups.spec 714 1999-10-01 14:40:53Z mike $".
#
+1 -1
Ver Arquivo
@@ -107,7 +107,7 @@ ppdEmit(ppd_file_t *ppd, /* I - PPD file record */
*/
fputs("pop pop pop\n", fp);
fputs("<</PageSize[5 -2 roll]/ImagingBBox null>>setpagedevice\n", fp);
fputs("<</PageSize[7 -2 roll]/ImagingBBox null>>setpagedevice\n", fp);
}
}
+19 -29
Ver Arquivo
@@ -330,8 +330,7 @@ httpReconnect(http_t *http) /* I - HTTP data */
if ((http->fd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
{
http->error = errno;
http->status = HTTP_ERROR;
http->error = errno;
return (-1);
}
@@ -355,8 +354,7 @@ httpReconnect(http_t *http) /* I - HTTP data */
if (connect(http->fd, (struct sockaddr *)&(http->hostaddr),
sizeof(http->hostaddr)) < 0)
{
http->error = errno;
http->status = HTTP_ERROR;
http->error = errno;
#ifdef WIN32
closesocket(http->fd);
@@ -366,9 +364,8 @@ httpReconnect(http_t *http) /* I - HTTP data */
return (-1);
}
http->error = 0;
http->status = HTTP_CONTINUE;
else
http->error = 0;
return (0);
}
@@ -1181,10 +1178,7 @@ httpUpdate(http_t *http) /* I - HTTP data */
httpSetField(http, field, value);
}
else
{
http->status = HTTP_ERROR;
return (HTTP_ERROR);
}
}
/*
@@ -1192,10 +1186,7 @@ httpUpdate(http_t *http) /* I - HTTP data */
*/
if (http->error)
{
http->status = HTTP_ERROR;
return (HTTP_ERROR);
}
/*
* If we haven't already returned, then there is nothing new...
@@ -1431,13 +1422,6 @@ http_send(http_t *http, /* I - HTTP data */
*ptr = '\0';
/*
* See if we had an error the last time around; if so, reconnect...
*/
if (http->status == HTTP_ERROR || http->status >= HTTP_BAD_REQUEST)
httpReconnect(http);
/*
* Send the request header...
*/
@@ -1450,8 +1434,20 @@ http_send(http_t *http, /* I - HTTP data */
if (httpPrintf(http, "%s %s HTTP/1.1\r\n", codes[request], buf) < 1)
{
http->status = HTTP_ERROR;
return (-1);
/*
* Might have lost connection; try to reconnect...
*/
if (httpReconnect(http))
return (-1);
/*
* OK, we've reconnected, send the request again...
*/
if (httpPrintf(http, "%s %s HTTP/%d.%d\r\n", codes[request], buf,
http->version / 100, http->version % 100) < 1)
return (-1);
}
for (i = 0; i < HTTP_FIELD_MAX; i ++)
@@ -1460,17 +1456,11 @@ http_send(http_t *http, /* I - HTTP data */
DEBUG_printf(("%s: %s\n", http_fields[i], http->fields[i]));
if (httpPrintf(http, "%s: %s\r\n", http_fields[i], http->fields[i]) < 1)
{
http->status = HTTP_ERROR;
return (-1);
}
return (-1);
}
if (httpPrintf(http, "\r\n") < 1)
{
http->status = HTTP_ERROR;
return (-1);
}
httpClearFields(http);
+2
Ver Arquivo
@@ -512,6 +512,8 @@ ippDateToTime(const ipp_uchar_t *date) /* I - RFC 1903 date info */
else
t -= date[9] * 3600 + date[10] * 60;
t -= timezone;
return (t);
}
+6 -6
Ver Arquivo
@@ -365,15 +365,15 @@ ppdMarkOption(ppd_file_t *ppd, /* I - PPD file record */
if (strcmp(option, "PageSize") == 0)
{
if ((o = ppdFindOption(ppd, "PageRegion")) != NULL)
for (i = 0; i < o->num_choices; i ++)
o->choices[i].marked = 0;
o = ppdFindOption(ppd, "PageRegion");
for (i = 0; i < o->num_choices; i ++)
o->choices[i].marked = 0;
}
else
{
if ((o = ppdFindOption(ppd, "PageSize")) != NULL)
for (i = 0; i < o->num_choices; i ++)
o->choices[i].marked = 0;
o = ppdFindOption(ppd, "PageSize");
for (i = 0; i < o->num_choices; i ++)
o->choices[i].marked = 0;
}
}
}
+3 -46
Ver Arquivo
@@ -630,8 +630,7 @@ ppdOpen(FILE *fp) /* I - File to read from */
string = NULL;
}
else if (strcmp(keyword, "VariablePaperSize") == 0 &&
strcmp(string, "True") == 0 &&
!ppd->variable_sizes)
strcmp(string, "True") == 0)
{
ppd->variable_sizes = 1;
@@ -691,51 +690,9 @@ ppdOpen(FILE *fp) /* I - File to read from */
ppd->custom_margins + 1, ppd->custom_margins + 2,
ppd->custom_margins + 3);
else if (strcmp(keyword, "CustomPageSize") == 0 &&
strcmp(name, "True") == 0)
strcmp(name, "True") == 0 &&
ppd->variable_sizes)
{
if (!ppd->variable_sizes)
{
ppd->variable_sizes = 1;
/*
* Add a "Custom" page size entry...
*/
ppd_add_size(ppd, "Custom");
/*
* Add a "Custom" page size option...
*/
if ((group = ppd_get_group(ppd,
cupsLangString(language,
CUPS_MSG_GENERAL))) == 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)
{
ppdClose(ppd);
safe_free(string);
return (NULL);
}
strncpy(choice->text, cupsLangString(language, CUPS_MSG_VARIABLE),
sizeof(choice->text) - 1);
group = NULL;
option = NULL;
}
if ((option = ppdFindOption(ppd, "PageSize")) == NULL)
{
ppdClose(ppd);
+5 -8
Ver Arquivo
@@ -217,7 +217,10 @@ cupsDoFileRequest(http_t *http, /* I - HTTP connection to server */
DEBUG_puts("cupsDoFileRequest: post...");
if (httpPost(http, resource))
{
httpReconnect(http);
continue;
}
/*
* Send the IPP data and wait for the response...
@@ -277,14 +280,8 @@ cupsDoFileRequest(http_t *http, /* I - HTTP connection to server */
else
break;
}
else if (status == HTTP_ERROR)
{
if (http->error != ENETDOWN && http->error != ENETUNREACH)
continue;
else
break;
}
else if (status != HTTP_OK)
if (status != HTTP_OK)
{
DEBUG_printf(("cupsDoFileRequest: error %d...\n", status));
+2 -2
Ver Arquivo
@@ -42,7 +42,7 @@ include ../Makedefs
#
DOCUMENTS = cmp.shtml idd.shtml sam.shtml sdd.shtml ssr.shtml \
stp.shtml sum.shtml
stp.shtml sum.shtml svd.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
@@ -86,7 +86,7 @@ install:
overview.pdf: overview.html
echo Formatting $@...
htmldoc --duplex --compression=9 --jpeg --webpage -f overview.pdf overview.html
htmldoc --duplex --compression=9 --jpeg --webpage -f $@ $<
sam.html: sam.shtml
echo Formatting $@...
+3 -3
Ver Arquivo
@@ -152,10 +152,10 @@ sections:
<UL>
<LI>IEEE 1387.4, System Administration: Printing (draft) </LI>
<LI>IPP/1.0: Additional Optional Operations - Set 1 </LI>
<LI>IPP/1.0: Encoding and Transport </LI>
<LI>IPP/1.0: Implementers Guide </LI>
<LI>IPP/1.0: Model and Semantics </LI>
<LI>RFC 1179, Line Printer Daemon Protocol </LI>
<LI>RFC 2565, IPP/1.0: Encoding and Transport </LI>
<LI>RFC 2566, IPP/1.0: Model and Semantics </LI>
<LI>RFC 2639, IPP/1.0: Implementers Guide </LI>
</UL>
<H1><A NAME=3>3 File Management</A></H1>
<H2><A NAME=3_1>3.1 Directory Structure</A></H2>
+121 -118
Ver Arquivo
@@ -1,6 +1,6 @@
%PDF-1.2
%âãÏÓ
1 0 obj<</Producer(htmldoc 2.0b1 Copyright 1997-1999 Michael Sweet, All Rights Reserved.)/CreationDate(D:19990922200456Z)/Title(CUPS Configuration Management Plan)/Author(Easy Software Products)>>endobj
1 0 obj<</Producer(htmldoc 2.0b1 Copyright 1997-1999 Michael Sweet, All Rights Reserved.)/CreationDate(D:19990521210307Z)/Title(CUPS Configuration Management Plan)/Author(Easy Software Products)>>endobj
2 0 obj<</Type/Encoding/BaseEncoding/WinAnsiEncoding>>endobj
3 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier/Encoding 2 0 R>>endobj
4 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Roman/Encoding 2 0 R>>endobj
@@ -400,10 +400,13 @@ endobj
endobj
198 0 obj<</Type/Page/Parent 191 0 R/Contents 199 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R/Fc 9 0 R>>>>>>endobj
199 0 obj<</Length 200 0 R/Filter/FlateDecode>>stream
xÚ•UMo"9½ó+J9%ÒЛB`oC¾„4™aŒöÀŸ«Á·«c»Aì¯ß²» E‹¢Hi»ªÞ{õÊ•·V
xÚ•UMo"9½ó+J9%ÒЛB`oC¾„4™aŒöÀŸ«Á·«c»Aì¯ß²» E‹¢Hi»ªÞ{õÊ•·V
×ü“Âmº}Ek4oýñ8„tóœoú·=˜g—)Ì$•x5ÿUßÞ$ƒú¾}3Hêˆ$…q†Æ«\Iá™:¸iÚ„vúuè|­H2¹ZU6†B!ŒXaÁéPja #YÕ_–6*C~°ªøO­ æd!Ã
j*cœ0QÆó¯0ò€Ï¨i7éÔPàŽŠ‚Ñ^¾ÿ†‰åheV0Û9,./î^&³‹ÅüDë«4¹G¹ß
‹É íÝá^{g_åÇíFáöñŸÓx, $ëÅR#Ÿ51ZìÐFí!wѹé»zÈ—.p Œ=¬…;’¿D4ûŽaË<·ƒY#yPVIϦÀ¡ LÁyn¬°Ù#]EË ¡u­bƒ&#ë‚
G¸•ãf&Zû»™ÞŸÑºÚWÔ¸ã±(x²vpm.$º¤©ºïb,Ç¥ëRãšÉj<IÒìêøaþØO&쫨שz‚âØ…ø(~Ñ2J€·
+6ëHηÀ+°÷ƒ‹Ëo“û/0}¼KÓÛáâê Ìxøþ㱆‘&ùÊa³çQ¸
‹É íÝá^{g_åÇíFáöñŸÓx, $ëÅR#Ÿ51ZìÐFí!wѹé»zÈ—.p Œ=¬…;’¿D4ûŽaË<·ƒY#yPVIϦÀ¡ LÁyn¬°Ù#]EË ¡u­bƒ&#ë‚
_ËrƇ'<Red¶AhGG®*Ã$°i[å×`‘}â¼22!´ò»“ýYæ€Û²%ûZ+dNKK[$r~&­*ýAºx ¢°‹Éäž_D›[††€â}˜•Ó\™¤ÐÀ¸:Q–ºÙ*“a=¼§³zv]êª~²rž
õcoš7I9<}§õúâRVÖòÐ;¨‰Rþߨ^rÝ]\ñ
Màu£Š`S®ø­MÇáAòùÃeáMì•mkÚê>_]¸ß/´ÿ± >ÛŽï‹‘ƒÈ®„‰ÍaG;'­iß)ÆépÖ@²ê Xø;Ö¢Ó¿…ß™ðªo\öòÀpß´SY\¦˜#ÛÀÏõ¬Ô.§>†Ö?¿Ë<+¿ÇùsKUØ”SŒ&ñógaÌϪt¤ïâ”÷ÓyZ¾r…'Müìíî¬Ä'ÞQœ›â[¥lìC>h¢Úµ{éà:9þ¯Üã³!ƒ„Óðý0oýÕú‰ßksendstream
endobj
@@ -839,122 +842,122 @@ xref
0000014295 00000 n
0000014401 00000 n
0000014635 00000 n
0000015402 00000 n
0000015451 00000 n
0000015500 00000 n
0000015549 00000 n
0000015598 00000 n
0000015647 00000 n
0000015696 00000 n
0000015745 00000 n
0000015794 00000 n
0000015843 00000 n
0000015892 00000 n
0000015941 00000 n
0000015990 00000 n
0000016039 00000 n
0000016088 00000 n
0000016137 00000 n
0000016186 00000 n
0000016235 00000 n
0000016284 00000 n
0000016333 00000 n
0000016382 00000 n
0000016431 00000 n
0000016480 00000 n
0000016529 00000 n
0000016578 00000 n
0000016627 00000 n
0000016676 00000 n
0000016725 00000 n
0000016774 00000 n
0000016823 00000 n
0000016872 00000 n
0000016921 00000 n
0000016970 00000 n
0000017019 00000 n
0000017068 00000 n
0000017117 00000 n
0000017166 00000 n
0000017215 00000 n
0000017264 00000 n
0000017313 00000 n
0000017362 00000 n
0000017411 00000 n
0000017460 00000 n
0000017509 00000 n
0000017558 00000 n
0000017607 00000 n
0000017656 00000 n
0000017705 00000 n
0000017754 00000 n
0000017803 00000 n
0000017852 00000 n
0000017901 00000 n
0000017950 00000 n
0000017999 00000 n
0000018260 00000 n
0000018412 00000 n
0000024803 00000 n
0000024825 00000 n
0000024938 00000 n
0000025040 00000 n
0000025060 00000 n
0000025200 00000 n
0000026140 00000 n
0000026161 00000 n
0000026274 00000 n
0000026462 00000 n
0000026483 00000 n
0000026623 00000 n
0000027230 00000 n
0000027251 00000 n
0000027364 00000 n
0000027557 00000 n
0000027578 00000 n
0000027709 00000 n
0000028322 00000 n
0000028343 00000 n
0000028456 00000 n
0000028645 00000 n
0000028666 00000 n
0000028797 00000 n
0000029741 00000 n
0000029762 00000 n
0000029893 00000 n
0000030180 00000 n
0000030201 00000 n
0000030341 00000 n
0000031257 00000 n
0000031278 00000 n
0000031409 00000 n
0000031767 00000 n
0000031788 00000 n
0000031928 00000 n
0000032424 00000 n
0000032445 00000 n
0000032576 00000 n
0000033028 00000 n
0000033049 00000 n
0000033189 00000 n
0000034329 00000 n
0000034351 00000 n
0000034491 00000 n
0000035397 00000 n
0000035418 00000 n
0000035558 00000 n
0000036484 00000 n
0000036505 00000 n
0000036645 00000 n
0000037291 00000 n
0000037312 00000 n
0000037452 00000 n
0000038272 00000 n
0000038293 00000 n
0000038433 00000 n
0000039360 00000 n
0000014669 00000 n
0000014703 00000 n
0000015402 00000 n
0000015451 00000 n
0000015500 00000 n
0000015549 00000 n
0000015598 00000 n
0000015647 00000 n
0000015696 00000 n
0000015745 00000 n
0000015794 00000 n
0000015843 00000 n
0000015892 00000 n
0000015941 00000 n
0000015990 00000 n
0000016039 00000 n
0000016088 00000 n
0000016137 00000 n
0000016186 00000 n
0000016235 00000 n
0000016284 00000 n
0000016333 00000 n
0000016382 00000 n
0000016431 00000 n
0000016480 00000 n
0000016529 00000 n
0000016578 00000 n
0000016627 00000 n
0000016676 00000 n
0000016725 00000 n
0000016774 00000 n
0000016823 00000 n
0000016872 00000 n
0000016921 00000 n
0000016970 00000 n
0000017019 00000 n
0000017068 00000 n
0000017117 00000 n
0000017166 00000 n
0000017215 00000 n
0000017264 00000 n
0000017313 00000 n
0000017362 00000 n
0000017411 00000 n
0000017460 00000 n
0000017509 00000 n
0000017558 00000 n
0000017607 00000 n
0000017656 00000 n
0000017705 00000 n
0000017754 00000 n
0000017803 00000 n
0000017852 00000 n
0000017901 00000 n
0000017950 00000 n
0000017999 00000 n
0000018260 00000 n
0000018412 00000 n
0000024803 00000 n
0000024825 00000 n
0000024938 00000 n
0000025040 00000 n
0000025060 00000 n
0000025200 00000 n
0000026140 00000 n
0000026161 00000 n
0000026274 00000 n
0000026462 00000 n
0000026483 00000 n
0000026623 00000 n
0000027216 00000 n
0000027237 00000 n
0000027350 00000 n
0000027543 00000 n
0000027564 00000 n
0000027695 00000 n
0000028308 00000 n
0000028329 00000 n
0000028442 00000 n
0000028631 00000 n
0000028652 00000 n
0000028783 00000 n
0000029727 00000 n
0000029748 00000 n
0000029879 00000 n
0000030166 00000 n
0000030187 00000 n
0000030327 00000 n
0000031243 00000 n
0000031264 00000 n
0000031395 00000 n
0000031753 00000 n
0000031774 00000 n
0000031914 00000 n
0000032410 00000 n
0000032431 00000 n
0000032562 00000 n
0000033014 00000 n
0000033035 00000 n
0000033175 00000 n
0000034315 00000 n
0000034337 00000 n
0000034477 00000 n
0000035383 00000 n
0000035404 00000 n
0000035544 00000 n
0000036470 00000 n
0000036491 00000 n
0000036631 00000 n
0000037277 00000 n
0000037298 00000 n
0000037438 00000 n
0000038258 00000 n
0000038279 00000 n
0000038419 00000 n
0000039346 00000 n
0000039367 00000 n
0000039946 00000 n
0000039507 00000 n
0000039911 00000 n
+7 -7
Ver Arquivo
@@ -75,10 +75,10 @@ The following non-CUPS documents are referenced by this document:
<UL>
<LI>IEEE 1387.4, System Administration: Printing (draft)
<LI>IPP/1.0: Additional Optional Operations - Set 1
<LI>IPP/1.0: Encoding and Transport
<LI>IPP/1.0: Implementers Guide
<LI>IPP/1.0: Model and Semantics
<LI>RFC 1179, Line Printer Daemon Protocol
<LI>RFC 2565, IPP/1.0: Encoding and Transport
<LI>RFC 2566, IPP/1.0: Model and Semantics
<LI>RFC 2639, IPP/1.0: Implementers Guide
</UL>
<H1>File Management</H1>
@@ -334,12 +334,12 @@ extension of ".h".
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 name and revision
information is provided by the CVS "$Id: cmp.shtml 679 1999-09-22 20:06:27Z mike $" tag:
information is provided by the CVS "$Id: cmp.shtml 351 1999-05-21 20:54:09Z mike $" tag:
<UL>
<PRE>
/*
* "$Id: cmp.shtml 679 1999-09-22 20:06:27Z mike $"
* "$Id: cmp.shtml 351 1999-05-21 20:54:09Z mike $"
*
* Description of file contents.
*
@@ -372,14 +372,14 @@ information is provided by the CVS "$Id: cmp.shtml 679 1999-09-22 20:06:27Z mike
</UL>
The bottom of each source file shall contain a trailer giving the name
of the file using the CVS "$Id: cmp.shtml 679 1999-09-22 20:06:27Z mike $" tag. The primary purpose of this is to
of the file using the CVS "$Id: cmp.shtml 351 1999-05-21 20:54:09Z mike $" tag. The primary purpose of this is to
mark the end of a source file; if the trailer is missing it is possible
that code has been lost near the end of the file:
<UL>
<PRE>
/*
* End of "$Id: cmp.shtml 679 1999-09-22 20:06:27Z mike $".
* End of "$Id: cmp.shtml 351 1999-05-21 20:54:09Z mike $".
*/
</PRE>
</UL>
+2
Ver Arquivo
@@ -55,6 +55,8 @@ The following documentation for CUPS is available on this server:
<A HREF="ssr.html">HTML</A> |
<A HREF="ssr.pdf">PDF</A> )
<LI>Software Test Plan (Not Yet Available)
</UL>
<HR>
+93 -146
Ver Arquivo
@@ -1,13 +1,13 @@
<HTML>
<HEAD>
<TITLE>CUPS Interface Design Description</TITLE>
<TITLE>DRAFT - CUPS Interface Design Description</TITLE>
<META NAME="AUTHOR" CONTENT="Easy Software Products">
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-1999, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-IDD-1.0">
</HEAD>
<BODY>
<CENTER><A HREF=#contents><IMG SRC="images/cups-large.gif" BORDER=0><BR>
<H1>CUPS Interface Design Description</H1></A><BR>
<H1>DRAFT - CUPS Interface Design Description</H1></A><BR>
CUPS-IDD-1.0<BR>
Easy Software Products<BR>
Copyright 1997-1999, All Rights Reserved<BR>
@@ -53,24 +53,26 @@ Copyright 1997-1999, All Rights Reserved<BR>
<LI><A HREF=#4_3>4.3 CUPS PostScript File</A></LI>
<LI><A HREF=#4_4>4.4 CUPS Raster File</A></LI>
<LI><A HREF=#4_5>4.5 CUPS Raw Files</A></LI>
<LI><A HREF=#4_6>4.6 Internet Printing Protocol</A></LI>
<LI><A HREF=#4_6>4.6 File Transfer Protocol</A></LI>
<LI><A HREF=#4_7>4.7 Internet Printing Protocol</A></LI>
<UL>
<LI><A HREF=#4_6_1>4.6.1 Get Default Destination (CUPS_GET_DEFAULT =
<LI><A HREF=#4_7_1>4.7.1 Get Default Destination (CUPS_GET_DEFAULT =
0x4001)</A></LI>
<LI><A HREF=#4_6_2>4.6.2 Get Printers (CUPS_GET_PRINTERS = 0x4002)</A></LI>
<LI><A HREF=#4_6_3>4.6.3 Add Printer (CUPS_ADD_PRINTER = 0x4003)</A></LI>
<LI><A HREF=#4_6_4>4.6.4 Delete Printer (CUPS_DELETE_PRINTER = 0x4004)</A>
<LI><A HREF=#4_7_2>4.7.2 Get Printers (CUPS_GET_PRINTERS = 0x4002)</A></LI>
<LI><A HREF=#4_7_3>4.7.3 Add Printer (CUPS_ADD_PRINTER = 0x4003)</A></LI>
<LI><A HREF=#4_7_4>4.7.4 Delete Printer (CUPS_DELETE_PRINTER = 0x4004)</A>
</LI>
<LI><A HREF=#4_6_5>4.6.5 Get Classes (CUPS_GET_CLASSES = 0x4005)</A></LI>
<LI><A HREF=#4_6_6>4.6.6 Add Class (CUPS_ADD_CLASS = 0x4006)</A></LI>
<LI><A HREF=#4_6_7>4.6.7 Delete Class (CUPS_DELETE_CLASS = 0x4007)</A></LI>
<LI><A HREF=#4_6_8>4.6.8 Accept Jobs (CUPS_ACCEPT_JOBS = 0x4008)</A></LI>
<LI><A HREF=#4_6_9>4.6.9 Reject Jobs (CUPS_REJECT_JOBS = 0x4009)</A></LI>
<LI><A HREF=#4_6_10>4.6.10 Set Default Destination (CUPS_SET_DEFAULT =
<LI><A HREF=#4_7_5>4.7.5 Get Classes (CUPS_GET_CLASSES = 0x4005)</A></LI>
<LI><A HREF=#4_7_6>4.7.6 Add Class (CUPS_ADD_CLASS = 0x4006)</A></LI>
<LI><A HREF=#4_7_7>4.7.7 Delete Class (CUPS_DELETE_CLASS = 0x4007)</A></LI>
<LI><A HREF=#4_7_8>4.7.8 Accept Jobs (CUPS_ACCEPT_JOBS = 0x4008)</A></LI>
<LI><A HREF=#4_7_9>4.7.9 Reject Jobs (CUPS_REJECT_JOBS = 0x4009)</A></LI>
<LI><A HREF=#4_7_10>4.7.10 Set Default Destination (CUPS_SET_DEFAULT =
0x400A)</A></LI>
</UL>
<LI><A HREF=#4_7>4.7 Line Printer Daemon Protocol</A></LI>
<LI><A HREF=#4_8>4.8 Server Message Block Protocol</A></LI>
<LI><A HREF=#4_8>4.8 Line Printer Daemon Protocol</A></LI>
<LI><A HREF=#4_9>4.9 Server Message Block Protocol</A></LI>
<LI><A HREF=#4_10>4.10 Trivial File Transfer Protocol</A></LI>
</UL>
<B><A HREF=#5>5 5 - Directories</A></B>
<BR>
@@ -131,10 +133,10 @@ following sections: </P>
<UL>
<LI>IEEE 1387.4, System Administration: Printing (draft) </LI>
<LI>IPP/1.0: Additional Optional Operations - Set 1 </LI>
<LI>IPP/1.0: Encoding and Transport </LI>
<LI>IPP/1.0: Implementers Guide </LI>
<LI>IPP/1.0: Model and Semantics </LI>
<LI>RFC 1179, Line Printer Daemon Protocol </LI>
<LI>RFC 2565, IPP/1.0: Encoding and Transport </LI>
<LI>RFC 2566, IPP/1.0: Model and Semantics </LI>
<LI>RFC 2639, IPP/1.0: Implementers Guide </LI>
</UL>
<H1><A NAME=3>3 Internal Interfaces</A></H1>
<H2><A NAME=3_1>3.1 Character Set Files</A></H2>
@@ -283,18 +285,13 @@ understood:
<TABLE BORDER=1 WIDTH=90%>
<TR><TH WIDTH=25%>Directive</TH><TH>Description</TH></TR>
<TR><TD>&lt;Class name&gt;
<BR> &lt;/Class&gt;</TD><TD>Surrounds a class definition.</TD></TR>
<BR> &lt;/Class&gt;</TD><TD></TR>
<TR><TD>&lt;DefaultClass name&gt;
<BR> &lt;/Class&gt;</TD><TD>Surrounds a class definition for the default
destination.</TD></TR>
<TR><TD>Accepting</TD><TD>Specifies whether the class is accepting new
jobs. May be the names &quot;Yes&quot; or &quot;No&quot;.</TD></TR>
<TR><TD>Info</TD><TD>A textual description of the class.</TD></TR>
<TR><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></TR>
<BR> &lt;/Class&gt;</TD><TD></TR>
<TR><TD>Info</TD><TD></TR>
<TR><TD>Location</TD><TD></TR>
<TR><TD>MoreInfo</TD><TD></TR>
<TR><TD>Printer</TD><TD></TR>
</TABLE>
</CENTER>
</P>
@@ -307,92 +304,43 @@ understood:
<CENTER>
<TABLE BORDER=1 WIDTH=90%>
<TR><TH WIDTH=25%>Directive</TH><TH>Default</TH><TH>Description</TH></TR>
<TR><TD>AccessLog</TD><TD>logs/access_log</TD><TD>Specifies the
location of the access log file.</TD></TR>
<TR><TD>Allow</TD><TD>-</TD><TD>Allows connections from the specified
host, network, or domain.</TD></TR>
<TR><TD>AuthClass</TD><TD>-</TD><TD>Specifies what level of
authentication is required; may be either &quot;User&quot;, &quot;System&quot;, or &quot;Group&quot;.</TD>
</TR>
<TR><TD>AuthType</TD><TD>None</TD><TD>Specifies the type of
authentication to perform; may be either &quot;None&quot; or &quot;Basic&quot;.</TD></TR>
<TR><TD>BrowseAddress</TD><TD>255.255.255.255</TD><TD>Specifies a
broadcast address to send CUPS browsing packets to.</TD></TR>
<TR><TD>BrowseInterval</TD><TD>30</TD><TD>Specifies the number of
seconds between browsing updates.</TD></TR>
<TR><TD>BrowsePort</TD><TD>631</TD><TD>Specifies the UDP port number to
use for browse packets.</TD></TR>
<TR><TD>BrowseTimeout</TD><TD>300</TD><TD>Specifies the number of
seconds to wait until remote destinations are removed from the local
destination list.</TD></TR>
<TR><TD>Browsing</TD><TD>On</TD><TD>Specifies whether or not printer
and class browsing is enabled; can be &quot;On&quot; or &quot;Off&quot;.</TD></TR>
<TR><TD>DefaultCharset</TD><TD>iso-8859-1</TD><TD>Specifies the default
character set.</TD></TR>
<TR><TD>DefaultLanguage</TD><TD>current locale</TD><TD>Specifies the
default language.</TD></TR>
<TR><TD>Deny</TD><TD>-</TD><TD>Refuses connections from the specified
host, network, or domain.</TD></TR>
<TR><TD>DocumentRoot</TD><TD>/usr/share/cups/doc</TD><TD>Specifies the
document data root directory.</TD></TR>
<TR><TD>ErrorLog</TD><TD>logs/error_log</TD><TD>Specifies the error log
file location.</TD></TR>
<TR><TD>Group</TD><TD>root, sys, system</TD><TD>Specifies the group
name or ID that is used when running external programs.</TD></TR>
<TR><TD>HostNameLookups</TD><TD>Off</TD><TD>Specifies whether or not to
perform reverse IP address lookups to get the actual hostname; may be
&quot;On&quot; or &quot;Off&quot;. Hostname lookups can significantly degrade the
performance of the CUPS server if one or more DNS servers is not
functioning properly.</TD></TR>
<TR><TD>ImplicitClasses</TD><TD>On</TD><TD>Specifies whether or not to
automatically create printer classes when more than one printer or
class of the same name is detected on the network; may be &quot;On&quot; or
&quot;Off&quot;.</TD></TR>
<TR><TD>KeepAlive</TD><TD>On</TD><TD>Specifies whether or not to use
the HTTP Keep-Alive feature; may be &quot;On&quot; or &quot;Off&quot;.</TD></TR>
<TR><TD>KeepAliveTimeout</TD><TD>30</TD><TD>Specifies the amount of
time to keep the HTTP connection alive before closing it.</TD></TR>
<TR><TD>AccessLog</TD><TD><TD>Specifies the location of the access log
file (default &quot;logs/access_log&quot;).</TD></TR>
<TR><TD>Allow</TD><TD><TD></TR>
<TR><TD>AuthClass</TD><TD><TD></TR>
<TR><TD>AuthType</TD><TD><TD></TR>
<TR><TD>BrowseAddress</TD><TD><TD></TR>
<TR><TD>BrowseInterval</TD><TD><TD></TR>
<TR><TD>BrowsePort</TD><TD><TD></TR>
<TR><TD>BrowseTimeout</TD><TD><TD></TR>
<TR><TD>Browsing</TD><TD><TD></TR>
<TR><TD>DefaultCharset</TD><TD><TD></TR>
<TR><TD>DefaultLanguage</TD><TD><TD></TR>
<TR><TD>Deny</TD><TD><TD></TR>
<TR><TD>DocumentRoot</TD><TD><TD></TR>
<TR><TD>ErrorLog</TD><TD><TD></TR>
<TR><TD>Group</TD><TD><TD></TR>
<TR><TD>HostNameLookups</TD><TD><TD></TR>
<TR><TD>ImplicitClasses</TD><TD><TD></TR>
<TR><TD>KeepAlive</TD><TD><TD></TR>
<TR><TD>KeepAliveTimeout</TD><TD><TD></TR>
<TR><TD>&lt;Location path&gt;
<BR> &lt;/Location&gt;</TD><TD>-</TD><TD>Specifies a location to restrict
access to.</TD></TR>
<TR><TD>LogLevel</TD><TD>info</TD><TD>Controls the amount of
information that is logged in the error log file. Can be one of
&quot;debug&quot;, &quot;info&quot;, &quot;warn&quot;, &quot;error&quot;, or &quot;none&quot;, in decreasing order or
verbosity.</TD></TR>
<TR><TD>MaxClients</TD><TD>100</TD><TD>Specifies the maximum number of
simultaneous active clients. This value is internally limited to 1/3
of the total number of availabel file descriptors.</TD></TR>
<TR><TD>MaxLogSize</TD><TD>0</TD><TD>Specifies the maximum size of the
access, error, and page log files in bytes. If set to 0 then no
maximum size is set. Log files are rotated automatically when this
size is exceeded.</TD></TR>
<TR><TD>MaxRequestSize</TD><TD>0</TD><TD>Specifies the maximum size of
HTTP requests in bytes. If set to 0 then there is no maximum.</TD></TR>
<TR><TD>Order</TD><TD>Allow,Deny</TD><TD>Specifies the order of Allow
and Deny directive processing; can be &quot;Deny,Allow&quot; to implicitly deny
hosts unless they are allowed by an Allow line, or &quot;Allow,Deny&quot; to
implicitly allow hosts unless they are denied by a Deny line.</TD></TR>
<TR><TD>PageLog</TD><TD>logs/page_log</TD><TD>Specifies the location of
the page log file.</TD></TR>
<TR><TD>Port</TD><TD>631</TD><TD>Specifies a port number to listen to
for HTTP connections.</TD></TR>
<TR><TD>RIPCache</TD><TD>8m</TD><TD>Specifies the size of the memory
cache in bytes that is used by RIP filters.</TD></TR>
<TR><TD>ServerAdmin</TD><TD>root@ServerName</TD><TD>Specifies the
person to contact with problems.</TD></TR>
<TR><TD>ServerName</TD><TD>hostname</TD><TD>Specifies the hostname that
is supplied to HTTP clients. This is also used to determine the
default CUPS server for the CUPS IPP client applications.</TD></TR>
<TR><TD>ServerRoot</TD><TD>/var/cups</TD><TD>Specifies the root
directory for server data files.</TD></TR>
<TR><TD>SystemGroup</TD><TD>root, sys, system</TD><TD>Specifies the
group name used for System class authentication.</TD></TR>
<TR><TD>TempDir</TD><TD>/var/tmp</TD><TD>Specifies the temporary
directory to use.</TD></TR>
<TR><TD>Timeout</TD><TD>300</TD><TD>The timeout in seconds before
client connections are closed in the middle of a request.</TD></TR>
<TR><TD>User</TD><TD>lp</TD><TD>Specifies the user that is used when
running external programs.</TD></TR>
<BR> &lt;/Location&gt;</TD><TD><TD></TR>
<TR><TD>LogLevel</TD><TD><TD></TR>
<TR><TD>MaxClients</TD><TD><TD></TR>
<TR><TD>MaxLogSize</TD><TD><TD></TR>
<TR><TD>MaxRequestSize</TD><TD><TD></TR>
<TR><TD>Order</TD><TD><TD></TR>
<TR><TD>PageLog</TD><TD><TD></TR>
<TR><TD>Port</TD><TD><TD></TR>
<TR><TD>RIPCache</TD><TD><TD></TR>
<TR><TD>ServerAdmin</TD><TD><TD></TR>
<TR><TD>ServerName</TD><TD><TD></TR>
<TR><TD>ServerRoot</TD><TD><TD></TR>
<TR><TD>SystemGroup</TD><TD><TD></TR>
<TR><TD>TempDir</TD><TD><TD></TR>
<TR><TD>Timeout</TD><TD><TD></TR>
<TR><TD>User</TD><TD><TD></TR>
</TABLE>
</CENTER>
</P>
@@ -405,28 +353,22 @@ understood:
<CENTER>
<TABLE BORDER=1 WIDTH=90%>
<TR><TH WIDTH=25%>Directive</TH><TH>Description</TH></TR>
<TR><TD>Accepting</TD><TD>Specifies whether the printer is accepting
new jobs. May be the names &quot;Yes&quot; or &quot;No&quot;.</TD></TR>
<TR><TD>&lt;DefaultPrinter name&gt;
<BR> &lt;/Printer&gt;</TD><TD>Surrounds the printer definition for a default
destination.</TD></TR>
<TR><TD>DeviceURI</TD><TD>Specifies the device-uri attribute for the
printer.</TD></TR>
<TR><TD>Info</TD><TD>A textual description of the printer.</TD></TR>
<TR><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>
<BR> &lt;/Printer&gt;</TD><TD></TR>
<TR><TD>DeviceURI</TD><TD></TR>
<TR><TD>Info</TD><TD></TR>
<TR><TD>Location</TD><TD></TR>
<TR><TD>MoreInfo</TD><TD></TR>
<TR><TD>&lt;Printer name&gt;
<BR> &lt;/Printer&gt;</TD><TD>Surrounds the printer definition.</TD></TR>
<TR><TD>State</TD><TD>Specifies the initial state of the printer; can
be &quot;Idle&quot; or &quot;Stopped&quot;.</TD></TR>
<BR> &lt;/Printer&gt;</TD><TD></TR>
<TR><TD>State</TD><TD></TR>
</TABLE>
</CENTER>
</P>
<H1><A NAME=4>4 External Interfaces</A></H1>
<H2><A NAME=4_1>4.1 AppSocket Protocol</A></H2>
<P>The AppSocket protocol is an 8-bit clean TCP/IP socket connection.
The default IP service port is 9100. The URI method name is &quot;socket&quot;. </P>
The default IP service port is 9100. </P>
<H2><A NAME=4_2>4.2 CUPS Browsing Protocol</A></H2>
<P>The CUPS Browsing Protocol is a UDP/IP-based broadcast service. By
default this service operates on IP service port 631. </P>
@@ -603,7 +545,10 @@ application/vnd.cups-raster</CODE>. </P>
<P>Raw files are printer-dependent print files that are in a format
suitable to the destination printer (e.g. HP-PCL, HP-RTL, etc.) The
MIME type for CUPS Raw files is <CODE>application/vnd.cups-raw</CODE>. </P>
<H2><A NAME=4_6>4.6 Internet Printing Protocol</A></H2>
<H2><A NAME=4_6>4.6 File Transfer Protocol</A></H2>
<P>The File Transfer Protocol (FTP) is described by <A HREF=http://www.ietf.org/rfc/rfc959.txt>
RFC 959: File Transfer Protocol</A>. </P>
<H2><A NAME=4_7>4.7 Internet Printing Protocol</A></H2>
<P>The Internet Printing Protocol is described by the following RFCs: </P>
<UL>
<LI><A HREF=http://www.ietf.org/rfc/rfc2565.txt>RFC 2565: Internet
@@ -618,21 +563,20 @@ Protocol</A></LI>
<LI><A HREF=http://www.ietf.org/rfc/rfc2569.txt>RFC 2569: Mapping
between LPD and IPP Protocols</A></LI>
</UL>
<P>The URI method name for IPP is &quot;ipp&quot;. </P>
<P>CUPS defines the following extension operations to IPP. </P>
<H3><A NAME=4_6_1>4.6.1 Get Default Destination (CUPS_GET_DEFAULT =
<H3><A NAME=4_7_1>4.7.1 Get Default Destination (CUPS_GET_DEFAULT =
0x4001)</A></H3>
<P>The get default destination operation returns the printer attributes
for the system default printer or class. The only required attributes
are <CODE>attributes-charset</CODE> and <CODE>
attributes-natural-language</CODE>. </P>
<P>Get default destination will only return <CODE>ipp-ok</CODE>. </P>
<H3><A NAME=4_6_2>4.6.2 Get Printers (CUPS_GET_PRINTERS = 0x4002)</A></H3>
<H3><A NAME=4_7_2>4.7.2 Get Printers (CUPS_GET_PRINTERS = 0x4002)</A></H3>
<P>The get printers operation returns the printer attributes for all
printers known to the system. The only required attributes are <CODE>
attributes-charset</CODE> and <CODE>attributes-natural-language</CODE>. </P>
<P>Get printers will only return <CODE>ipp-ok</CODE>. </P>
<H3><A NAME=4_6_3>4.6.3 Add Printer (CUPS_ADD_PRINTER = 0x4003)</A></H3>
<H3><A NAME=4_7_3>4.7.3 Add Printer (CUPS_ADD_PRINTER = 0x4003)</A></H3>
<P>The add printer operation adds or replaces the specified printer.
The <CODE>attributes-charset</CODE>, <CODE>attributes-natural-language</CODE>
and <CODE>printer-uri</CODE> attributes are required. </P>
@@ -645,19 +589,19 @@ body. If a valid interface script or PPD file is not provided then the
printer is treated as a generic PostScript device. </P>
<P>Add printer will return <CODE>ipp-ok</CODE>, <CODE>ipp-not-authorized</CODE>
, <CODE>ipp-bad-request</CODE>, or <CODE>ipp-attributes</CODE>. </P>
<H3><A NAME=4_6_4>4.6.4 Delete Printer (CUPS_DELETE_PRINTER = 0x4004)</A>
<H3><A NAME=4_7_4>4.7.4 Delete Printer (CUPS_DELETE_PRINTER = 0x4004)</A>
</H3>
<P>The delete printer operation removes the specified printer. The only
required attributes are <CODE>attributes-charset</CODE>, <CODE>
attributes-natural-language</CODE>, and <CODE>printer-uri</CODE>. </P>
<P>Delete printer will return <CODE>ipp-ok</CODE>, <CODE>ipp-not-found</CODE>
, or <CODE>ipp-not-authorized</CODE>. </P>
<H3><A NAME=4_6_5>4.6.5 Get Classes (CUPS_GET_CLASSES = 0x4005)</A></H3>
<H3><A NAME=4_7_5>4.7.5 Get Classes (CUPS_GET_CLASSES = 0x4005)</A></H3>
<P>The get classes operation returns the printer attributes for all
classes known to the system. The only required attributes are <CODE>
attributes-charset</CODE> and <CODE>attributes-natural-language</CODE>. </P>
<P>Get classes will only return <CODE>ipp-ok</CODE>. </P>
<H3><A NAME=4_6_6>4.6.6 Add Class (CUPS_ADD_CLASS = 0x4006)</A></H3>
<H3><A NAME=4_7_6>4.7.6 Add Class (CUPS_ADD_CLASS = 0x4006)</A></H3>
<P>The add class operation adds or replaces the specified class. The <CODE>
attributes-charset</CODE>, <CODE>attributes-natural-language</CODE>,
and <CODE>printer-uri</CODE> attributes are required. </P>
@@ -667,27 +611,27 @@ required when initially adding a printer and optional when modifying a
printer. </P>
<P>Add class will return <CODE>ipp-ok</CODE>, <CODE>ipp-not-authorized</CODE>
, <CODE>ipp-bad-request</CODE>, or <CODE>ipp-attributes</CODE>. </P>
<H3><A NAME=4_6_7>4.6.7 Delete Class (CUPS_DELETE_CLASS = 0x4007)</A></H3>
<H3><A NAME=4_7_7>4.7.7 Delete Class (CUPS_DELETE_CLASS = 0x4007)</A></H3>
<P>The delete class operation removes the specified class. The only
required attributes are <CODE>attributes-charset</CODE>, <CODE>
attributes-natural-language</CODE>, and <CODE>printer-uri</CODE>. </P>
<P>Delete class will return <CODE>ipp-ok</CODE>, <CODE>ipp-not-found</CODE>
, or <CODE>ipp-not-authorized</CODE>. </P>
<H3><A NAME=4_6_8>4.6.8 Accept Jobs (CUPS_ACCEPT_JOBS = 0x4008)</A></H3>
<H3><A NAME=4_7_8>4.7.8 Accept Jobs (CUPS_ACCEPT_JOBS = 0x4008)</A></H3>
<P>The accept jobs operation allows jobs to be accepted by the
specified destination. The only required attributes are <CODE>
attributes-charset</CODE>, <CODE>attributes-natural-language</CODE>,
and <CODE>printer-uri</CODE>. </P>
<P>Accept jobs will return <CODE>ipp-ok</CODE>, <CODE>ipp-not-found</CODE>
, or <CODE>ipp-not-authorized</CODE>. </P>
<H3><A NAME=4_6_9>4.6.9 Reject Jobs (CUPS_REJECT_JOBS = 0x4009)</A></H3>
<H3><A NAME=4_7_9>4.7.9 Reject Jobs (CUPS_REJECT_JOBS = 0x4009)</A></H3>
<P>The reject jobs operation prevents jobs from being accepted by the
specified destination. The only required attributes are <CODE>
attributes-charset</CODE>, <CODE>attributes-natural-language</CODE>,
and <CODE>printer-uri</CODE>. </P>
<P>Reject jobs will return <CODE>ipp-ok</CODE>, <CODE>ipp-not-found</CODE>
, or <CODE>ipp-not-authorized</CODE>. </P>
<H3><A NAME=4_6_10>4.6.10 Set Default Destination (CUPS_SET_DEFAULT =
<H3><A NAME=4_7_10>4.7.10 Set Default Destination (CUPS_SET_DEFAULT =
0x400A)</A></H3>
<P>The set default destination operation returns the printer attributes
for the system default printer or class. The only required attributes
@@ -696,24 +640,27 @@ are <CODE>attributes-charset</CODE>, <CODE>attributes-natural-language</CODE>
<P>Set default destination will return <CODE>ipp-ok</CODE>, <CODE>
ipp-not-authorized</CODE>, <CODE>ipp-bad-request</CODE>, or <CODE>
ipp-not-found</CODE>. </P>
<H2><A NAME=4_7>4.7 Line Printer Daemon Protocol</A></H2>
<H2><A NAME=4_8>4.8 Line Printer Daemon Protocol</A></H2>
<P>The Line Printer Daemon (LPD) protocol is described by <A HREF=http://www.ietf.org/rfc/rfc1179.txt>
RFC 1179: Line Printer Daemon Protocol</A>. </P>
<P>The URI method name for LPD is &quot;lpd&quot;. </P>
<H2><A NAME=4_8>4.8 Server Message Block Protocol</A></H2>
<H2><A NAME=4_9>4.9 Server Message Block Protocol</A></H2>
<P>The Server Message Block (SMB) and related Common Internet File
System (CIFS) protocols are described at <A HREF=http://anu.samba.org/cifs>
http://anu.samba.org/cifs</A>. </P>
<P>The URI method name for SMB is &quot;smb&quot;. </P>
<H2><A NAME=4_10>4.10 Trivial File Transfer Protocol</A></H2>
<P>The Trivial File Transfer Protocol (TFTP) is described by <A HREF=http://www.ietf.org/rfc/rfc1350.txt>
RFC 1350: The TFTP Protocol (Revision 2)</A>. </P>
<H1><A NAME=5>5 5 - Directories</A></H1>
<DL>
<DT>/usr/bin </DT>
<DD>The <CODE>cancel</CODE>, <CODE>lp</CODE>, <CODE>lpq</CODE>, <CODE>
lpr</CODE>, <CODE>lprm</CODE>, and <CODE>lpstat</CODE> commands reside
here. </DD>
<DT>/usr/lib </DT>
<DD>The <CODE>accept</CODE>, <CODE>disable</CODE>, <CODE>enable</CODE>, <CODE>
lpadmin</CODE>, and <CODE>reject</CODE> commands reside here. </DD>
<DT>/usr/sbin </DT>
<DD>The <CODE>accept</CODE>, <CODE>cupsd</CODE>, <CODE>lpadmin</CODE>, <CODE>
lpc</CODE>, and <CODE>reject</CODE> commands reside here. </DD>
<DD>The <CODE>lpc</CODE> and <CODE>cupsd</CODE> commands resize here. </DD>
<DT>/usr/share/cups </DT>
<DD>This is the root directory of the CUPS static data. </DD>
<DT>/usr/share/cups/data </DT>
+1206 -1147
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+105 -136
Ver Arquivo
@@ -3,7 +3,7 @@
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-1999, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-IDD-1.0">
<META NAME="Author" CONTENT="Easy Software Products">
<TITLE>CUPS Interface Design Description</TITLE>
<TITLE>DRAFT - CUPS Interface Design Description</TITLE>
</HEAD>
<BODY>
@@ -74,10 +74,10 @@ sections:
<UL>
<LI>IEEE 1387.4, System Administration: Printing (draft)
<LI>IPP/1.0: Additional Optional Operations - Set 1
<LI>IPP/1.0: Encoding and Transport
<LI>IPP/1.0: Implementers Guide
<LI>IPP/1.0: Model and Semantics
<LI>RFC 1179, Line Printer Daemon Protocol
<LI>RFC 2565, IPP/1.0: Encoding and Transport
<LI>RFC 2566, IPP/1.0: Model and Semantics
<LI>RFC 2639, IPP/1.0: Implementers Guide
</UL>
<H1>Internal Interfaces</H1>
@@ -269,33 +269,28 @@ followed by its value. The following directives are understood:
<TR>
<TD>&lt;Class name&gt;<BR>
&lt;/Class&gt;</TD>
<TD>Surrounds a class definition.</TD>
<TD></TD>
</TR>
<TR>
<TD>&lt;DefaultClass name&gt;<BR>
&lt;/Class&gt;</TD>
<TD>Surrounds a class definition for the default destination.</TD>
</TR>
<TR>
<TD>Accepting</TD>
<TD>Specifies whether the class is accepting new jobs. May be
the names "Yes" or "No".</TD>
<TD></TD>
</TR>
<TR>
<TD>Info</TD>
<TD>A textual description of the class.</TD>
<TD></TD>
</TR>
<TR>
<TD>Location</TD>
<TD>A textual location of the class.</TD>
<TD></TD>
</TR>
<TR>
<TD>MoreInfo</TD>
<TD>A URL pointing to additional information on the class.</TD>
<TD></TD>
</TR>
<TR>
<TD>Printer</TD>
<TD>Specifies a printer that is a member of the class.</TD>
<TD></TD>
</TR>
</TABLE></CENTER>
@@ -315,208 +310,180 @@ followed by its value. The following directives are understood:
</TR>
<TR>
<TD>AccessLog</TD>
<TD>logs/access_log</TD>
<TD>Specifies the location of the access log file.</TD>
<TD></TD>
<TD>Specifies the location of the access log file (default
"logs/access_log").</TD>
</TR>
<TR>
<TD>Allow</TD>
<TD>-</TD>
<TD>Allows connections from the specified host, network, or
domain.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>AuthClass</TD>
<TD>-</TD>
<TD>Specifies what level of authentication is required; may be either
"User", "System", or "Group".</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>AuthType</TD>
<TD>None</TD>
<TD>Specifies the type of authentication to perform; may be either
"None" or "Basic".</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>BrowseAddress</TD>
<TD>255.255.255.255</TD>
<TD>Specifies a broadcast address to send CUPS browsing packets to.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>BrowseInterval</TD>
<TD>30</TD>
<TD>Specifies the number of seconds between browsing updates.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>BrowsePort</TD>
<TD>631</TD>
<TD>Specifies the UDP port number to use for browse packets.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>BrowseTimeout</TD>
<TD>300</TD>
<TD>Specifies the number of seconds to wait until remote destinations
are removed from the local destination list.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>Browsing</TD>
<TD>On</TD>
<TD>Specifies whether or not printer and class browsing is enabled; can
be "On" or "Off".</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>DefaultCharset</TD>
<TD>iso-8859-1</TD>
<TD>Specifies the default character set.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>DefaultLanguage</TD>
<TD>current locale</TD>
<TD>Specifies the default language.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>Deny</TD>
<TD>-</TD>
<TD>Refuses connections from the specified host, network, or
domain.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>DocumentRoot</TD>
<TD>/usr/share/cups/doc</TD>
<TD>Specifies the document data root directory.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>ErrorLog</TD>
<TD>logs/error_log</TD>
<TD>Specifies the error log file location.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>Group</TD>
<TD>root, sys, system</TD>
<TD>Specifies the group name or ID that is used when running
external programs.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>HostNameLookups</TD>
<TD>Off</TD>
<TD>Specifies whether or not to perform reverse IP address lookups to
get the actual hostname; may be "On" or "Off". Hostname lookups can
significantly degrade the performance of the CUPS server if one or
more DNS servers is not functioning properly.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>ImplicitClasses</TD>
<TD>On</TD>
<TD>Specifies whether or not to automatically create printer classes
when more than one printer or class of the same name is detected on
the network; may be "On" or "Off".</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>KeepAlive</TD>
<TD>On</TD>
<TD>Specifies whether or not to use the HTTP Keep-Alive feature; may
be "On" or "Off".</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>KeepAliveTimeout</TD>
<TD>30</TD>
<TD>Specifies the amount of time to keep the HTTP connection alive
before closing it.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>&lt;Location path&gt;<BR>
&lt;/Location&gt;</TD>
<TD>-</TD>
<TD>Specifies a location to restrict access to.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>LogLevel</TD>
<TD>info</TD>
<TD>Controls the amount of information that is logged in the
error log file. Can be one of "debug", "info", "warn", "error",
or "none", in decreasing order or verbosity.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>MaxClients</TD>
<TD>100</TD>
<TD>Specifies the maximum number of simultaneous active clients.
This value is internally limited to 1/3 of the total number of
availabel file descriptors.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>MaxLogSize</TD>
<TD>0</TD>
<TD>Specifies the maximum size of the access, error, and page
log files in bytes. If set to 0 then no maximum size is set.
Log files are rotated automatically when this size is
exceeded.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>MaxRequestSize</TD>
<TD>0</TD>
<TD>Specifies the maximum size of HTTP requests in bytes. If set to 0
then there is no maximum.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>Order</TD>
<TD>Allow,Deny</TD>
<TD>Specifies the order of Allow and Deny directive processing; can
be "Deny,Allow" to implicitly deny hosts unless they are allowed by
an Allow line, or "Allow,Deny" to implicitly allow hosts unless they
are denied by a Deny line.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>PageLog</TD>
<TD>logs/page_log</TD>
<TD>Specifies the location of the page log file.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>Port</TD>
<TD>631</TD>
<TD>Specifies a port number to listen to for HTTP connections.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>RIPCache</TD>
<TD>8m</TD>
<TD>Specifies the size of the memory cache in bytes that is used by
RIP filters.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>ServerAdmin</TD>
<TD>root@ServerName</TD>
<TD>Specifies the person to contact with problems.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>ServerName</TD>
<TD>hostname</TD>
<TD>Specifies the hostname that is supplied to HTTP clients. This
is also used to determine the default CUPS server for the CUPS IPP
client applications.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>ServerRoot</TD>
<TD>/var/cups</TD>
<TD>Specifies the root directory for server data files.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>SystemGroup</TD>
<TD>root, sys, system</TD>
<TD>Specifies the group name used for System class authentication.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>TempDir</TD>
<TD>/var/tmp</TD>
<TD>Specifies the temporary directory to use.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>Timeout</TD>
<TD>300</TD>
<TD>The timeout in seconds before client connections are closed
in the middle of a request.</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD>User</TD>
<TD>lp</TD>
<TD>Specifies the user that is used when running external programs.</TD>
<TD></TD>
<TD></TD>
</TR>
</TABLE></CENTER>
@@ -533,41 +500,35 @@ followed by its value. The following directives are understood:
<TH WIDTH="25%">Directive</TH>
<TH>Description</TH>
</TR>
<TR>
<TD>Accepting</TD>
<TD>Specifies whether the printer is accepting new jobs. May be
the names "Yes" or "No".</TD>
</TR>
<TR>
<TD>&lt;DefaultPrinter name&gt;<BR>
&lt;/Printer&gt;</TD>
<TD>Surrounds the printer definition for a default destination.</TD>
<TD></TD>
</TR>
<TR>
<TD>DeviceURI</TD>
<TD>Specifies the device-uri attribute for the printer.</TD>
<TD></TD>
</TR>
<TR>
<TD>Info</TD>
<TD>A textual description of the printer.</TD>
<TD></TD>
</TR>
<TR>
<TD>Location</TD>
<TD>A textual location of the printer.</TD>
<TD></TD>
</TR>
<TR>
<TD>MoreInfo</TD>
<TD>A URL pointing to additional information on the printer.</TD>
<TD></TD>
</TR>
<TR>
<TD>&lt;Printer name&gt;<BR>
&lt;/Printer&gt;</TD>
<TD>Surrounds the printer definition.</TD>
<TD></TD>
</TR>
<TR>
<TD>State</TD>
<TD>Specifies the initial state of the printer; can be "Idle" or
"Stopped".</TD>
<TD></TD>
</TR>
</TABLE></CENTER>
@@ -576,7 +537,7 @@ followed by its value. The following directives are understood:
<H2>AppSocket Protocol</H2>
<P>The AppSocket protocol is an 8-bit clean TCP/IP socket connection.
The default IP service port is 9100. The URI method name is "socket".
The default IP service port is 9100.
<H2>CUPS Browsing Protocol</H2>
@@ -951,6 +912,12 @@ raster data for that page.
to the destination printer (e.g. HP-PCL, HP-RTL, etc.) The MIME type for CUPS
Raw files is <CODE>application/vnd.cups-raw</CODE>.
<H2>File Transfer Protocol</H2>
<P>The File Transfer Protocol (FTP) is described by
<A HREF="http://www.ietf.org/rfc/rfc959.txt">RFC 959: File Transfer
Protocol</A>.
<H2>Internet Printing Protocol</H2>
<P>The Internet Printing Protocol is described by the following RFCs:
@@ -975,8 +942,6 @@ Raw files is <CODE>application/vnd.cups-raw</CODE>.
</UL>
<P>The URI method name for IPP is "ipp".
<P>CUPS defines the following extension operations to IPP.
<H3>Get Default Destination (CUPS_GET_DEFAULT = 0x4001)</H3>
@@ -1097,15 +1062,17 @@ are <CODE>attributes-charset</CODE>,
<A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179: Line Printer Daemon
Protocol</A>.
<P>The URI method name for LPD is "lpd".
<H2>Server Message Block Protocol</H2>
<P>The Server Message Block (SMB) and related Common Internet File
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".
<H2>Trivial File Transfer Protocol</H2>
<P>The Trivial File Transfer Protocol (TFTP) is described by
<A HREF="http://www.ietf.org/rfc/rfc1350.txt">RFC 1350: The TFTP Protocol
(Revision 2)</A>.
<H1>5 - Directories</H1>
@@ -1116,10 +1083,12 @@ System (CIFS) protocols are described at
<CODE>lpr</CODE>, <CODE>lprm</CODE>, and <CODE>lpstat</CODE> commands
reside here.
<DT>/usr/lib
<DD>The <CODE>accept</CODE>, <CODE>disable</CODE>, <CODE>enable</CODE>,
<CODE>lpadmin</CODE>, and <CODE>reject</CODE> commands reside here.
<DT>/usr/sbin
<DD>The <CODE>accept</CODE>, <CODE>cupsd</CODE>,
<CODE>lpadmin</CODE>, <CODE>lpc</CODE>, and <CODE>reject</CODE>
commands reside here.
<DD>The <CODE>lpc</CODE> and <CODE>cupsd</CODE> commands resize here.
<DT>/usr/share/cups
<DD>This is the root directory of the CUPS static data.
+9 -14
Ver Arquivo
@@ -11,7 +11,7 @@
<TD><H1 ALIGN=right>An Overview of the<BR>
Common UNIX Printing System</H1></DIV>
<P ALIGN=right>September 14, 1999<BR>
<P ALIGN=right>May 11, 1999<BR>
Michael Sweet, Easy Software Products<BR>
Copyright 1998-1999, All Rights Reserved.</P>
</TD>
@@ -163,9 +163,7 @@ Apache server configuration file and defines all of the access control
properties for the server.
<P>The printer and class definition files list the available printer
queues and classes. Printer classes are collections of printers. Jobs
sent to a class are forwarded to the first available printer in the
class, round-robin fashion.
queues and classes.
<P>The MIME type files list the supported MIME types (text/plain,
application/postscript, etc.) and "magic" rules for automatically
@@ -176,16 +174,13 @@ 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. 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
files are augmented by <I>AddFilter</I> entries in the printer
definition 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 PostScript printers.
There is one PPD file for each printer.
<P>The PPD files describe the capabilities of PostScript printers. There is
one PPD file for each printer.
<H3>CUPS Interface Library</H3>
@@ -204,8 +199,8 @@ and job options. All output is sent to the standard output.
<H3>Backends</H3>
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
device or network connection. Backends for serial, parallel, LPD, TFTP,
FTP, IPP, SMB, and AppSocket (JetDirect) connections are provided in
CUPS 1.0.
<H2>Berkeley and System V Commands</H2>
Arquivo binário não exibido.
+2 -2
Ver Arquivo
@@ -1,13 +1,13 @@
<HTML>
<HEAD>
<TITLE>CUPS Software Administrators Manual</TITLE>
<TITLE>DRAFT - CUPS Software Administrators Manual</TITLE>
<META NAME="AUTHOR" CONTENT="Easy Software Products">
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-1999, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-SAM-1.0.0">
</HEAD>
<BODY>
<CENTER><A HREF=#contents><IMG SRC="images/cups-large.gif" BORDER=0><BR>
<H1>CUPS Software Administrators Manual</H1></A><BR>
<H1>DRAFT - CUPS Software Administrators Manual</H1></A><BR>
CUPS-SAM-1.0.0<BR>
Easy Software Products<BR>
Copyright 1997-1999, All Rights Reserved<BR>
+493 -509
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+1 -1
Ver Arquivo
@@ -3,7 +3,7 @@
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-1999, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-SAM-1.0.0">
<META NAME="Author" CONTENT="Easy Software Products">
<TITLE>CUPS Software Administrators Manual</TITLE>
<TITLE>DRAFT - CUPS Software Administrators Manual</TITLE>
</HEAD>
<BODY>
+67 -61
Ver Arquivo
@@ -1,13 +1,13 @@
<HTML>
<HEAD>
<TITLE>CUPS Software Design Description</TITLE>
<TITLE>DRAFT - CUPS Software Design Description</TITLE>
<META NAME="AUTHOR" CONTENT="Easy Software Products">
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-1999, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-SDD-1.0">
</HEAD>
<BODY>
<CENTER><A HREF=#contents><IMG SRC="images/cups-large.gif" BORDER=0><BR>
<H1>CUPS Software Design Description</H1></A><BR>
<H1>DRAFT - CUPS Software Design Description</H1></A><BR>
CUPS-SDD-1.0<BR>
Easy Software Products<BR>
Copyright 1997-1999, All Rights Reserved<BR>
@@ -34,7 +34,8 @@ Copyright 1997-1999, All Rights Reserved<BR>
<LI><A HREF=#3_1_2>3.1.2 lpd</A></LI>
<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_5>3.1.5 smb</A></LI>
<LI><A HREF=#3_1_6>3.1.6 socket</A></LI>
</UL>
<LI><A HREF=#3_2>3.2 Berkeley Commands</A></LI>
<UL>
@@ -44,9 +45,9 @@ Copyright 1997-1999, All Rights Reserved<BR>
</UL>
<LI><A HREF=#3_3>3.3 CGI</A></LI>
<UL>
<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>
<LI><A HREF=#3_3_1>3.3.1 classes</A></LI>
<LI><A HREF=#3_3_2>3.3.2 jobs</A></LI>
<LI><A HREF=#3_3_3>3.3.3 printers</A></LI>
</UL>
<LI><A HREF=#3_4>3.4 CUPS Interface Library</A></LI>
<UL>
@@ -62,11 +63,8 @@ Copyright 1997-1999, All Rights Reserved<BR>
<UL>
<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>
<LI><A HREF=#3_5_3>3.5.3 pstops</A></LI>
<LI><A HREF=#3_5_4>3.5.4 texttops</A></LI>
</UL>
<LI><A HREF=#3_6>3.6 Scheduler</A></LI>
<UL>
@@ -77,9 +75,8 @@ Copyright 1997-1999, All Rights Reserved<BR>
<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>
<LI><A HREF=#3_6_8>3.6.8 Main</A></LI>
<LI><A HREF=#3_6_9>3.6.9 Printers</A></LI>
</UL>
<LI><A HREF=#3_7>3.7 System V Commands</A></LI>
<UL>
@@ -93,10 +90,12 @@ Copyright 1997-1999, All Rights Reserved<BR>
<LI><A HREF=#3_7_8>3.7.8 reject</A></LI>
</UL>
</UL>
<B><A HREF=#4>A Glossary</A></B>
<B><A HREF=#4>4 Detailed Design</A></B>
<BR>
<BR><B><A HREF=#5>A Glossary</A></B>
<UL>
<LI><A HREF=#4_1>A.1 Terms</A></LI>
<LI><A HREF=#4_2>A.2 Acronyms</A></LI>
<LI><A HREF=#5_1>A.1 Terms</A></LI>
<LI><A HREF=#5_2>A.2 Acronyms</A></LI>
</UL>
<HR>
<H1><A NAME=1>1 Scope</A></H1>
@@ -127,6 +126,7 @@ can be used to support non-PostScript printers. </P>
<LI>1 - Scope </LI>
<LI>2 - References </LI>
<LI>3 - Design Overview </LI>
<LI>4 - Detailed Design </LI>
<LI>A - Glossary </LI>
</UL>
<H1><A NAME=2>2 References</A></H1>
@@ -148,10 +148,10 @@ can be used to support non-PostScript printers. </P>
<UL>
<LI>IEEE 1387.4, System Administration: Printing (draft) </LI>
<LI>IPP/1.0: Additional Optional Operations - Set 1 </LI>
<LI>IPP/1.0: Encoding and Transport </LI>
<LI>IPP/1.0: Implementers Guide </LI>
<LI>IPP/1.0: Model and Semantics </LI>
<LI>RFC 1179, Line Printer Daemon Protocol </LI>
<LI>RFC 2565, IPP/1.0: Encoding and Transport </LI>
<LI>RFC 2566, IPP/1.0: Model and Semantics </LI>
<LI>RFC 2639, IPP/1.0: Implementers Guide </LI>
</UL>
<H1><A NAME=3>3 Design Overview</A></H1>
CUPS is composed of 7 software sub-systems that operate together to
@@ -219,7 +219,17 @@ form:
<LI><CODE>parity=<I>odd</I></CODE> - Sets odd parity checking. </LI>
<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>
<H3><A NAME=3_1_5>3.1.5 smb</A></H3>
The smb backend sends the specified job to a network host using the
Server Message Block protocol, which is used by most machines running
Microsoft&reg; Windows&reg;. The URI is of the form:
<UL>
<PRE>smb://hostname/queue
</PRE>
</UL>
Usernames and passwords required to access the printer are stored in
an external file.
<H3><A NAME=3_1_6>3.1.6 socket</A></H3>
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:
@@ -231,32 +241,41 @@ printers. The URI is of the form:
<H2><A NAME=3_2>3.2 Berkeley Commands</A></H2>
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.
existing software that is hard coded to use the Berkeley commands,
however since printer options cannot be specified using the Berkeley
commands their use it not encouraged.
<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
following commands:
<UL>
<LI>quit - Quits the lpc command. </LI>
<LI>abort - Stops a printer or all printers and any active print jobs. </LI>
<LI>disable - Prevents new jobs from being submitted to the specified
printer or all printers. </LI>
<LI>down - Stops a printer or all printers after completing the current
print jobs. </LI>
<LI>enable - Allows new jobs to be submitted. </LI>
<LI>start - Starts a printer or all printers. </LI>
<LI>status - Shows the status of printers and jobs in the queue. </LI>
<LI>up - Starts a printer or all printers. </LI>
</UL>
<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.
silently ignores the &quot;i&quot;, &quot;p&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>
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>
<H3><A NAME=3_3_1>3.3.1 classes</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.
<H3><A NAME=3_3_2>3.3.2 jobs.cgi</A></H3>
<H3><A NAME=3_3_2>3.3.2 jobs</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>
<H3><A NAME=3_3_3>3.3.3 printers</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.
@@ -265,9 +284,8 @@ limit the display and click on jobs to see the job status.
language, MIME, PPD, and raster functions used by the CUPS software.
<H3><A NAME=3_4_1>3.4.1 Convenience Functions</A></H3>
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.
print file, cancel a job, get a list of available printers, and get a
list of available classes.
<H3><A NAME=3_4_2>3.4.2 HTTP Functions</A></H3>
The HTTP functions provide functions to connect to HTTP servers, issue
requests, read data from a server, and write data to a server.
@@ -311,24 +329,16 @@ necessary conversions from one file type to another.
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>
<H3><A NAME=3_5_3>3.5.3 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>
<H3><A NAME=3_5_4>3.5.4 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.0 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.
The scheduler is a fully-functional HTTP/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><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.
@@ -362,28 +372,24 @@ multiple addresses and ports as needed. </P>
<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.
URI on the server (which might sidestep the access control or
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.
<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>
<H3><A NAME=3_6_8>3.6.8 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.
<H3><A NAME=3_6_10>3.6.10 Printers</A></H3>
SIGHUP</CODE> signals and reloads the server configuration files as
needed.
<H3><A NAME=3_6_9>3.6.9 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.
to submit and control print 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.
@@ -405,17 +411,17 @@ separate job ID for each file that is printed. Also, the Solaris &quot;f&quot;,
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), &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.
file) and &quot;F&quot; (filter) 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>
<H1><A NAME=4>4 Detailed Design</A></H1>
<H1 TYPE=A VALUE=1><A NAME=5>A Glossary</A></H1>
<H2><A NAME=5_1>A.1 Terms</A></H2>
<DL>
<DT>C </DT>
<DD>A computer language. </DD>
@@ -428,7 +434,7 @@ specific printers.
<DT>socket </DT>
<DD>A two-way network communications channel. </DD>
</DL>
<H2><A NAME=4_2>A.2 Acronyms</A></H2>
<H2><A NAME=5_2>A.2 Acronyms</A></H2>
<DL>
<DT>ASCII </DT>
<DD>American Standard Code for Information Interchange </DD>
+783 -793
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+52 -42
Ver Arquivo
@@ -3,7 +3,7 @@
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-1999, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-SDD-1.0">
<META NAME="Author" CONTENT="Easy Software Products">
<TITLE>CUPS Software Design Description</TITLE>
<TITLE>DRAFT - CUPS Software Design Description</TITLE>
</HEAD>
<BODY>
@@ -48,6 +48,8 @@ following sections:
<LI>3 - Design Overview
<LI>4 - Detailed Design
<LI>A - Glossary
</UL>
@@ -77,10 +79,10 @@ The following non-CUPS documents are referenced by this document:
<UL>
<LI>IEEE 1387.4, System Administration: Printing (draft)
<LI>IPP/1.0: Additional Optional Operations - Set 1
<LI>IPP/1.0: Encoding and Transport
<LI>IPP/1.0: Implementers Guide
<LI>IPP/1.0: Model and Semantics
<LI>RFC 1179, Line Printer Daemon Protocol
<LI>RFC 2565, IPP/1.0: Encoding and Transport
<LI>RFC 2566, IPP/1.0: Model and Semantics
<LI>RFC 2639, IPP/1.0: Implementers Guide
</UL>
<H1>Design Overview</H1>
@@ -183,6 +185,18 @@ The options can be any combination of the following:
</UL>
<H3>smb</H3>
The smb backend sends the specified job to a network host using the Server
Message Block protocol, which is used by most machines running Microsoft&reg;
Windows&reg;. The URI is of the form:
<UL><PRE>smb://hostname/queue
</PRE></UL>
Usernames and passwords required to access the printer are stored in an
external file.
<H3>socket</H3>
The socket backend sends the specified job to a network host using the
@@ -198,7 +212,9 @@ The default port number is 9100.
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.
existing software that is hard coded to use the Berkeley commands,
however since printer options cannot be specified using the Berkeley
commands their use it not encouraged.
<H3>lpc</H3>
@@ -208,16 +224,28 @@ commands:
<UL>
<LI>quit - Quits the lpc command.
<LI>abort - Stops a printer or all printers and any active print jobs.
<LI>disable - Prevents new jobs from being submitted to the specified
printer or all printers.
<LI>down - Stops a printer or all printers after completing the current
print jobs.
<LI>enable - Allows new jobs to be submitted.
<LI>start - Starts a printer or all printers.
<LI>status - Shows the status of printers and jobs in the queue.
<LI>up - Starts a printer or all printers.
</UL>
<H3>lpr</H3>
The lpr command submits a job for printing. The CUPS version of lpr silently
ignores the "i", "t", "m", "h", and "s" options.
ignores the "i", "p", "t", "m", "h", and "s" options.
<H3>lprm</H3>
@@ -228,19 +256,19 @@ The lprm removes one or more print jobs.
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>
<H3>classes</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.
<H3>jobs.cgi</H3>
<H3>jobs</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>printers.cgi</H3>
<H3>printers</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
@@ -254,9 +282,8 @@ language, MIME, PPD, and raster functions used by the CUPS software.
<H3>Convenience Functions</H3>
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.
cancel a job, get a list of available printers, and get a list of available
classes.
<H3>HTTP Functions</H3>
@@ -327,34 +354,21 @@ The hpgltops filter converts HP-GL/2 files into PostScript.
The imagetops filter converts image files into PostScript.
<H3>imagetoraster</H3>
The imagetoraster filter converts image files into CUPS raster data.
<H3>pstops</H3>
The pstops filter inserts printer-specific commands from PPD files and
performs page filtering as requested by the user.
<H3>pstoraster</H3>
The pstoraster filter converts PostScript program data into CUPS raster data.
<H3>rastertohp</H3>
The rastertohp filter handles converting CUPS raster data to HP PCL and
supports both color and black-and-white printers.
<H3>texttops</H3>
The texttops filter converts text files into PostScript.
<H2>Scheduler</H2>
The scheduler is a fully-functional HTTP/1.1 and IPP/1.0 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.
The scheduler is a fully-functional HTTP/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>
@@ -399,8 +413,8 @@ ports as needed.
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.
URI on the server (which might sidestep the access control or
authentication of the HTTP server.)
<H3>Jobs</H3>
@@ -408,17 +422,11 @@ 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>
The logging module manages the access, error, and page log files that are
generated by the scheduler.
<H3>Main</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.
signals and reloads the server configuration files as needed.
<H3>Printers</H3>
@@ -429,7 +437,7 @@ configuration file.
<H2>System V Commands</H2>
The System V commands provide a robust command-line interface to CUPS
to submit and control printers and jobs.
to submit and control print jobs.
<H3>accept</H3>
@@ -463,8 +471,8 @@ and "y" options are silently ignored.
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), "F" (filter), and "E" (enable and accept) are provided to configure
CUPS-specific features such as PPD file and conversion filters.
file) and "F" (filter) are provided to configure CUPS-specific features
such as PPD file and conversion filters.
<H3>lpstat</H3>
@@ -476,6 +484,8 @@ user.
The reject command tells the scheduler not to accept new jobs for specific
printers.
<H1>Detailed Design</H1>
<H1 TYPE=A VALUE=1>Glossary</H1>
<H2>Terms</H2>
+9 -24
Ver Arquivo
@@ -91,10 +91,10 @@ sections:</P>
<UL>
<LI>IEEE 1387.4, System Administration: Printing (draft) </LI>
<LI>IPP/1.0: Additional Optional Operations - Set 1 </LI>
<LI>IPP/1.0: Encoding and Transport </LI>
<LI>IPP/1.0: Implementers Guide </LI>
<LI>IPP/1.0: Model and Semantics </LI>
<LI>RFC 1179, Line Printer Daemon Protocol </LI>
<LI>RFC 2565, IPP/1.0: Encoding and Transport </LI>
<LI>RFC 2566, IPP/1.0: Model and Semantics </LI>
<LI>RFC 2639, IPP/1.0: Implementers Guide </LI>
</UL>
<H1><A NAME=3>3 Local Access Risks</A></H1>
<P>Local access risks are those that can be exploited only with a local
@@ -102,32 +102,17 @@ user account. This section does not address issues related to
dissemination of the root password or other security issues associated
with the UNIX operating system. </P>
<H2><A NAME=3_1>3.1 Security Breaches</A></H2>
<P>There are two known security vulnerabilities with local access: </P>
<OL>
<LI>Since the default installation creates a world-readable request
directory, it is possible for local users to read the contents of
print files before they are printed.
<P>This problem can be alleviated by making the request directory
readable only by the user specified in the CUPS configuration file. </P>
</LI>
<LI>Device URIs are passed to backend filters in argv[0] and in an
environment variable. Since device URIs can contain usernames and
passwords it may be possible for a local user to gain access to a
remote resource.
<P>We recommend that any password-protected accounts used for remote
printing have limited access priviledges so that the possible damages
can be minimized. </P>
<P>The device URI is &quot;sanitized&quot; (the username and password are
removed) when sent to an IPP client so that a remote user cannot
exploit this vulnerability. </P>
</LI>
</OL>
<P>Since the default installation creates a world-readable request
directory, it is possible for local users to read the contents of print
files before they are printed. </P>
<P>This problem can be alleviated by making the request directory
readable only by the user specified in the CUPS configuration file. </P>
<H1><A NAME=4>4 Remote Access Risks</A></H1>
<P>Remote access risks are those that can be exploited without a local
user account and/or from a remote system. This section does not address
issues related to network or firewall security. </P>
<H2><A NAME=4_1>4.1 Denial of Service Attacks</A></H2>
<P>Like all Internet services, the CUPS server is vulnerable to denial
<P>Like all internet services, the CUPS server is vulnerable to denial
of service attacks, including: </P>
<OL>
<LI>Establishing multiple connections to the server until the server
+67 -59
Ver Arquivo
@@ -1,6 +1,6 @@
%PDF-1.2
%âãÏÓ
1 0 obj<</Producer(htmldoc 2.0b1 Copyright 1997-1999 Michael Sweet, All Rights Reserved.)/CreationDate(D:19990922200511Z)/Title(DRAFT - CUPS Software Security Report)/Author(Easy Software Products)>>endobj
1 0 obj<</Producer(htmldoc 2.0b1 Copyright 1997-1999 Michael Sweet, All Rights Reserved.)/CreationDate(D:19990709142834Z)/Title(DRAFT - CUPS Software Security Report)/Author(Easy Software Products)>>endobj
2 0 obj<</Type/Encoding/BaseEncoding/WinAnsiEncoding>>endobj
3 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier/Encoding 2 0 R>>endobj
4 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Roman/Encoding 2 0 R>>endobj
@@ -194,10 +194,13 @@ endobj
xÚ+ä2T0BCc3JÎår
ár
á
äHendstream
äHendstream
endobj
78 0 obj
31
endobj
79 0 obj<</Type/Page/Parent 72 0 R/Contents 80 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R/Fc 9 0 R>>>>>>endobj
31
80 0 obj<</Length 81 0 R/Filter/FlateDecode>>stream
UKo1¾ó+F9%RÙfè-o!¥í6ª.Æ;œx=[Û ¢¿¾c/Bi«TpÁóú¾o|o¥pÊŸÎ;Ðíƒ,[—“ÖûÛ!¤C˜léŸ÷`’§0–TáÉä¹±ž%ƒÆÞ>$G’Â(GãU¡¤ðŠLã܃4]»vúëd®8*üRX‡²¶Ê¯ÀbEÖCei¡rt …^9ö¦*rNÍôN€$#ÑYðs„+*K2ðøiô-ç’i7é„’™UŒÌ<Áxå<–0=>ºzÌÆGÓøŠÖ1ZH“Óä¿îpï³ þ¼@»P¸ü ÁWX`¿ú–"Ê"°ª6>Z¬ÐFJ!vÚ9ë+oE4º˜À%0ò0nå Ñ@Ž Ô‘Ãl7­`¼‘:³”×Ò;ð0”ä‘!8/L.l¾…àHסƒ…кa±@““
}É÷êÖŽ5L (ºå²æû5ÄÀ%ÚÔúV–üÐÖÊ pI´…è’uÖŠ1§nR‚ŸA¿“Ùx’¤¹™£›Ém{”eÜNѸÏD›€ŸK‰§àéÁ3Í"ø^cÍE›µGç>àŠe¸×C§Ç÷Ùõ;x¸½JÓóáôäŒyØþO—šä »?^k¨pQUc~Ä8Ó*Wæ6íh¯¤««0 Ü´¥òs^îÿ(j#C#„æy?¨Ès,Ë’ìKÃ1Í,-] PdäüXZUù-'tñAEbGYvÍ‹ÐfÉpg(ÚìÆÊ …®«sU¥×[ï 696Ã{1³ç®K]7 kç©T?¸öb½Š¼íwŸán¾…>=楷|^ô
 TüîÕKN»Ó“=¼A¾%ª m*ïÚÃ(ã!$¿Ï0 YvbÃÌiïȶ–Õýý<tášd]2Ä?öîÿû†{gŸ„‰špiŠ]Ö´Œë‰q(܇&¿\çï ˜ï/­§þ9¼ÀW¼½{ÇåØF«CQœ°@VŸ·ôM¡]½'Ésr!9ÖÁƒr/oKÑ‹Õã©úïœãNóÿ‡°«Æ4X›Úhé°Û4fç®78M†œ9¼†ß7“Ö—ÖOªÏ8˜endstream
@@ -210,12 +213,13 @@ endobj
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS041T072PIÑp rt QÐUp
VÎO+)O,JUNM.-Ê,©TJ-È/*Ñ ÉâÒiÒ…ê2‰˜˜˜é™)€ù†
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS041T072PIÑp rt QÐUp
VÎO+)O,JUNM.-Ê,©TJ-È/*Ñ ÉâÒiÒ…ê2‰˜˜˜é™)€ù†
ÁÉù© Q×®@.ü7 £endstream
endobj
84 0 obj
118
endobj
85 0 obj<</Type/Page/Parent 72 0 R/Contents 86 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R/Fc 9 0 R>>>>>>endobj
84 0 obj
86 0 obj<</Length 87 0 R/Filter/FlateDecode>>stream
xÚ­•OÚ0Åï|Š9²Ò&K 7
l…T´) {ââÆp•ØÔ6Úòíkc•V%]å@Æ¿7ö¼?ZÀ „nòªõ)k=½ÄÄæMЃŒ¶CX`yŽê!ûîJžýÈyÏ‘ïÊüÆË$…‰ÈwrM4Ü-èAËþ+Ï6…(KñÎøÚ-¤— )µ.…o{ÐóU]3tàü#?<³Wa×Êm«àç‰ø¡Ó ^°õN:½9ád
IIø5ß4tÄßà³Éäžî•Æ
@@ -228,13 +232,17 @@ endobj
87 0 obj
522
endobj
89 0 obj<</Length 90 0 R/Filter/FlateDecode>>stream
xÚ-‹Í1…÷÷)Î’E™[Ͱ5˜5Óë¤n3TE¼½©È9›óó=ˆQb,êâp£FhÞ®À ‰`ÇXÚ
ržl»u+0Ø÷~ˆù}J
¯á•.ùƒNïCÊS¹’)ùS®4Îò¬Æ/Ûñ5iôY¦Ð¾­u"§endstream
88 0 obj<</Type/Page/Parent 72 0 R/Contents 89 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
89 0 obj<</Length 90 0 R/Filter/FlateDecode>>stream
xÚ-‹Í1…÷÷)Î’E™[Ͱ5˜5Óë¤n3TE¼½©È9›óó=ˆQb,êâp£FhÞ®À ‰`ÇXÚ
ržl»u+0Ø÷~ˆù}J
¯á•.ùƒNïCÊS¹’)ùS®4Îò¬Æ/Ûñ5iôY¦Ð¾­u"§endstream
endobj
90 0 obj
121
endobj
91 0 obj<</Type/Page/Parent 72 0 R/Contents 92 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
121
92 0 obj<</Length 93 0 R/Filter/FlateDecode>>stream
xÚuRÛjÜ0}÷WÌcïnöòØ”
¥´]úª•ÆY%²ÆÑÈMý÷‘³]Xƒå3ç6z®¸‘§Í–k°}u×V¾ì ÙAÛÉŸõf­{·„odM€Ö"3üòüÄWí£@WÐ43ôz¹«×
ž¡f†&…‚IùH¬o“Ášü;òP ¼ø|¡ŒŒI9hŒ¹†öèÁ2DÊj@de½PYã\REÏ<
@@ -385,54 +393,54 @@ xref
0000003809 00000 n
0000003913 00000 n
0000004017 00000 n
0000004225 00000 n
0000004329 00000 n
0000004433 00000 n
0000004537 00000 n
0000004641 00000 n
0000004744 00000 n
0000004848 00000 n
0000004953 00000 n
0000005058 00000 n
0000005163 00000 n
0000005268 00000 n
0000005586 00000 n
0000005618 00000 n
0000005650 00000 n
0000005849 00000 n
0000005896 00000 n
0000005943 00000 n
0000005990 00000 n
0000006037 00000 n
0000006084 00000 n
0000006131 00000 n
0000006178 00000 n
0000006225 00000 n
0000006272 00000 n
0000006319 00000 n
0000006366 00000 n
0000006413 00000 n
0000006461 00000 n
0000006509 00000 n
0000006557 00000 n
0000006728 00000 n
0000006877 00000 n
0000013254 00000 n
0000013275 00000 n
0000013385 00000 n
0000013485 00000 n
0000013504 00000 n
0000013641 00000 n
0000014534 00000 n
0000014554 00000 n
0000014664 00000 n
0000014851 00000 n
0000014871 00000 n
0000015008 00000 n
0000015613 00000 n
0000015633 00000 n
0000004121 00000 n
0000004225 00000 n
0000004329 00000 n
0000004433 00000 n
0000004537 00000 n
0000004641 00000 n
0000004744 00000 n
0000004848 00000 n
0000004953 00000 n
0000005058 00000 n
0000005163 00000 n
0000005268 00000 n
0000005586 00000 n
0000005618 00000 n
0000005650 00000 n
0000005849 00000 n
0000005896 00000 n
0000005943 00000 n
0000005990 00000 n
0000006037 00000 n
0000006084 00000 n
0000006131 00000 n
0000006178 00000 n
0000006225 00000 n
0000006272 00000 n
0000006319 00000 n
0000006366 00000 n
0000006413 00000 n
0000006461 00000 n
0000006509 00000 n
0000006557 00000 n
0000006728 00000 n
0000006877 00000 n
0000013254 00000 n
0000013275 00000 n
0000013385 00000 n
0000013485 00000 n
0000013504 00000 n
0000013641 00000 n
0000014534 00000 n
0000014554 00000 n
0000014664 00000 n
0000014851 00000 n
0000014871 00000 n
0000015008 00000 n
0000015599 00000 n
0000015619 00000 n
0000015729 00000 n
0000015919 00000 n
0000016081 00000 n
0000015939 00000 n
0000016067 00000 n
+9 -29
Ver Arquivo
@@ -71,10 +71,10 @@ The following non-CUPS documents are referenced by this document:
<UL>
<LI>IEEE 1387.4, System Administration: Printing (draft)
<LI>IPP/1.0: Additional Optional Operations - Set 1
<LI>IPP/1.0: Encoding and Transport
<LI>IPP/1.0: Implementers Guide
<LI>IPP/1.0: Model and Semantics
<LI>RFC 1179, Line Printer Daemon Protocol
<LI>RFC 2565, IPP/1.0: Encoding and Transport
<LI>RFC 2566, IPP/1.0: Model and Semantics
<LI>RFC 2639, IPP/1.0: Implementers Guide
</UL>
<H1>Local Access Risks</H1>
@@ -86,32 +86,12 @@ system.
<H2>Security Breaches</H2>
<P>There are two known security vulnerabilities with local access:
<P>Since the default installation creates a world-readable request directory,
it is possible for local users to read the contents of print files before they
are printed.
<OL>
<LI>Since the default installation creates a world-readable
request directory, it is possible for local users to read the
contents of print files before they are printed.
<P>This problem can be alleviated by making the request
directory readable only by the user specified in the CUPS
configuration file.
<LI>Device URIs are passed to backend filters in argv[0] and in
an environment variable. Since device URIs can contain
usernames and passwords it may be possible for a local user to
gain access to a remote resource.
<P>We recommend that any password-protected accounts used for
remote printing have limited access priviledges so that the
possible damages can be minimized.
<P>The device URI is "sanitized" (the username and password are
removed) when sent to an IPP client so that a remote user
cannot exploit this vulnerability.
</OL>
<P>This problem can be alleviated by making the request directory readable only
by the user specified in the CUPS configuration file.
<H1>Remote Access Risks</H1>
@@ -121,7 +101,7 @@ related to network or firewall security.
<H2>Denial of Service Attacks</H2>
<P>Like all Internet services, the CUPS server is vulnerable to denial of
<P>Like all internet services, the CUPS server is vulnerable to denial of
service attacks, including:
<OL>
+4 -4
Ver Arquivo
@@ -1,14 +1,14 @@
<HTML>
<HEAD>
<TITLE>CUPS Software Users Manual</TITLE>
<TITLE>DRAFT - CUPS Software Users Manual</TITLE>
<META NAME="AUTHOR" CONTENT="Easy Software Products">
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-1999, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-SUM-1.0.0">
<META NAME="DOCNUMBER" CONTENT="CUPS-SUM-1.0.0b1">
</HEAD>
<BODY>
<CENTER><A HREF=#contents><IMG SRC="images/cups-large.gif" BORDER=0><BR>
<H1>CUPS Software Users Manual</H1></A><BR>
CUPS-SUM-1.0.0<BR>
<H1>DRAFT - CUPS Software Users Manual</H1></A><BR>
CUPS-SUM-1.0.0b1<BR>
Easy Software Products<BR>
Copyright 1997-1999, All Rights Reserved<BR>
</CENTER>
+417 -399
Ver Arquivo
@@ -1,6 +1,6 @@
%PDF-1.2
%âãÏÓ
1 0 obj<</Producer(htmldoc 2.0b1 Copyright 1997-1999 Michael Sweet, All Rights Reserved.)/CreationDate(D:19990922200514Z)/Title(CUPS Software Users Manual)/Author(Easy Software Products)>>endobj
1 0 obj<</Producer(htmldoc 2.0b1 Copyright 1997-1999 Michael Sweet, All Rights Reserved.)/CreationDate(D:19990713124419Z)/Title(DRAFT - CUPS Software Users Manual)/Author(Easy Software Products)>>endobj
2 0 obj<</Type/Encoding/BaseEncoding/WinAnsiEncoding>>endobj
3 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier/Encoding 2 0 R>>endobj
4 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Roman/Encoding 2 0 R>>endobj
@@ -362,30 +362,43 @@
]>>endobj
198 0 obj<</Type/Page/Parent 197 0 R/Contents 199 0 R/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
199 0 obj<</Length 200 0 R/Filter/FlateDecode>>stream
xÚíßoä8rÇ¥nõË<ÉÞíwº=
$@Æ#{ܳ7@hlë’}8 $QÈCÅí^~`“ÍÍì&¸ÿ>ýËÝúAJUEJ¢|ætó#¿U$‹ê?¿¹Ñö·â»;ñá£øã½yoùæÏâCô»›ïö¿üðñãM$~÷éæNÜÝÝÞÜïk}ÿþ1ÿ—÷ß¿ÏþñAlþ>Ú—ûòq_>íËã¾ü~_þá_ß/~ýòÛOïÿYܸ}ÿObs{ûþŽøþéMñ2 ¼r™ùt·Z­®.veû«û§©sÉÇÕEè©ÊÅåõÓ4¹äÝ•©·ºŸ—¼ëbz.—×ÉT¸ðPG´û)p=^yäâ¯ǹBW.7sÝq©lš#83VvÇÌ2×£ðÌË7‰c\ù•g¥ø×NqÝyÖÊlã žÍrí—±^Ø2K\òʳ^ü·£så¡×Gùfd®¯§2KÆäºõz+þf4.Ë:h ÜÆÚ–·£pÉÐó\'…°Z¾œk,LSÀb€Ó’Á˜–ç­âêÝo™9h6×ÀX[°d®È¼ÌàúìPæ½seÞ(åÛž¹òp.‚(‚û
ÏÒ˜‚Ô)FçʽQ˦/®p\.äƒ 8dŽƒix.²Ø¹äøXžß—p€Ë ¬sežec™K†npÍ,sEž#ei•+óœ)‰E.W¬åÄ\±çPÙXãÊ]Âꔘžh ¢˜ h`¢˜T¤×z,WêVÇ€Áô45`0AÇ8g—t«5®‡)j<b†Áô\2j†ÁpÃuq¹Z½}Ú•‡ÝŇ~ .ÿòms’ïîAô6`Ðÿpù-IÿòñªŸƒ¾‡ë²s©ô`€¶6àŠúªò¨­¬‡õÐãpÒ%77xÃæb‡´tq&ÙœËÅ
5èé¹9kÉ0¹˜ÃÅJ§æ YÀäbòÜlHÆù<®´m·8dkW8”
ž¼YhEêÁþ®†IÚ;'Ù`ÃàƒM-~æU@çÊGÀ"ƒùt.²Èûv®H
cåhç 6§r¥#"— ¶¤qåV<$,4ra`oáõmaµdF†Ö"yËX¤ÛWK
Wj!œ1*‘Á‡ƒ%Õðû\„$x.i¤™–œoˆz.urÊg¶!‚•ʬè©®!‚
™íerÑ&ÃËåy¢<ÃrÌp^ôXÏÁÜ û³BŠ&®q\‘VHèI€ãr@ iÒ᣸²‘=2CÁ6'a Wè†hP´~†àÊøÙx–tsÅ®ˆeÀÖÝ\¡#OêOÐÉ•¹5\È›urÅŽ
Ò‡%]\¡cÃ…|ÒˮܗLëRÐÁ•:7\¸(qÖÁ%›]h)KZ¹¤ƒÃ…›óëV®ÌÁáÂm#­\H•÷ÅBYѬ•+t(2$*GÆBMM R僡¹
Wå7ƒs! qÞÂåÀÞÛgz®ÌE‘G Z¢åEí€ÖZ.á¨jàLi¡ã’®ªnêÏu\-4¬z²ó¿jÆþüs8>Ó´¢ÊÖÏGøŽ+ˆZ¢¸–Z.Yy¸q[B+ѵ&.A5Z¹æZ®ãÇ”uã8$~gz8.OÏ%õÊñá¦@[p¦×ɵÖrå¥çX3ÄÌ’@ÍDçÕζ7;ÂÌ’ÒÏÔ\‚è¼Ú¹fz®³VHʪýÌ®±\ÏÆ¥à:k{†7CŒÒ'*®œCup-µ\gŒ){%)ö¡à¹æz®øù…”ÅwŽD ¯µ+¡|—§çÊŽ+§˜!b¢h†\k-×á³á·ì:…m®à’T3ìä
ô\ÑH4ÏP¶Û|WF5ÃN._Ïuø°'âò C
"½r‚嚟j+¹ÆqAÝ9FFˆ@õʳ˵ŸåIÉU)Ê*Uàì ¨²±ÄsÅÏAÍ•²V©!â¢Á•“Ͱ+«à4¸$k³$ÅéecVà¹ä³Y¨¹N&EÚ,Éq=âZ9 pí;è¹RÖž(k
?FÃ%Y{v½lp1ÒÛ¹ò£(h¸Ž]$îÙŨ.M6f…«8*½Ž 8N)ʤ€& ×Qéu\1g¼2”'šl¬i\G¥×q…œù%Qϸ‚(®£Òk¸Fˆ‘l E3"×Qé5\1o³¿ëùÏ«\1½:¹J¯á
y‡31æáI6ÖT®ƒÒ«¹ræ)FŠqÌ@ÚÛ(¨\¥WsÞ Ì"©*W̘^Ý\{¥Ws fæŽÄ8f DQkoݱ~]¹bb—Àm*\¬Cåjl¥àÚ÷^¨¸v/!‡@t(QT¢~tIÙ@ü*×¹u.qÐdA7Äp+‹ Êµ.?š:h¸žŠpš‚݆Y”¹{6sI,ËŠ:«qå®ôÈ“Ó
1EÈäp©1‰yóõýÏ&WôüЧ•hO[áÙ¨
Ë’/*qÅJ.yêAD6D‰°+ D‡Z“Jë:W¦äJO•Szì‹ÐÀG‡3½ïß½Òæ¶¬™
?UçŠN#éùV!ž+çxåóGøUxE\Qå*ýEAŽ}Ew€øèp‰ñ%&Wªà*§¢ÄdCŒº' àåpƒÑ¦¤É•+¸Êz“‘a€çŠX²Ñ°‰yÑä:Új…+,OXò"L>µ——`ÉF}bžnï)ÖÅe®jFTÔCF#ÐSÅjå³ÊÃ)ö1Ê\qŰÓRÿ-‡ÚÅßù½&o %—lp…ËË{HÕtÔ«·“|ÿâSÿr€+¤T®”)‡Ïå0YÝãêŽæýbR°2?$—àEQÎs…¼(Êu.i"‡så†rè*WÆçJ_š¹bvtè6WÄæ/Mæ\áK“Ã#gk~\òÅÉü+{q2嚄̗€sËîGóòðm%—›WÌ–ùrËê§ÞÅueÛï¼Û۸ΧŒ¶»i6Yç–×®ó¾M}r&J®%‡k©æ*ϤoO\‚í¾ÔøÕ©uqÎáš+¹rõùrÈv_j׺èq¸<%—PŸ;ð7mÔöªËM­uqÍáZ+¸Ò¦ÊÊ-ϰ\sMø²Vq®@Á6£e®ƒÁêrçj]œq¸fM®gÑð/“ÝÊ-h®µšËWqÕ¯ó¡¸wOr¾ó'áÑlp\V®ý=
¯ÒƒEÕ±$*®¥ÒUãQD£²“y>lT¸±ìæ:¾Þ8uøìU®”»8çp5epü8@mb¯\¥´”êŸs{ê]ô8\FÕC§c Â¨
†ëœF¤È’_(»¸æpÕ‰j`¾§   \žmç’®XÏp¸êj3eo–3@…Q†ëüEö¿šËçpÕÕ/žJ<—ß—â:_7—¢QVw°«m¹Lx83çjê†â:_7—î` Z/{v¸¤†+Rë¼â:‚«Ù(V:XÀ„QAa¢‡á)ç¶ÚÅæu>W³‘P:"×Å•©ýW¦‰£×ù\ÍFZ®ÌW¬Œ7ÏaH­‹Íë|®f£PéˆP\K —ôŠÜºNQ\çÃp5i¹R~UêÃñ+×èu¥â:†«Ñ¨\ýü‰(®Ma¸þZ*»Ø¸Î‡áj4Òr?Œ*Ô£ÙUmtñ(Ú4®z#®Í¨~ê'š.Ö¯ó¡¸ê´\±E®zuë×ùP\õFZ®ˆjƒÓlï7ºX¿Î‡âª7
kiª'.aËO4\¥PµÒÅÚu>Ÿk†äò×¥ŸýòqÛc©îbí:Ž«ÖH”»ÂÚá*å–ãöG îbí:ޫ֍G¥X® À­S
xÚíßoä8rÇ¥nõË<ÉÞíwº=
$@Æ#{ܳ;@hlk“}8 $QÈCÍíÞ%Áæön$¸ÿ>ýËÝúAJUEJ¢|æ›tó#¿U$‹ê¿¼¹Ñö·â«;ñá£øýÿ¼yoùæ/âCôõÍWû_~øøñ&_º¹ww·7÷ûZß¾Ìÿíý·ï³~Œöåþ|Ü—Oûò¸/ßìË?ýûûoů?ÿöÃû÷nßÿ‹ØÜÞ¾€Gq/¾}zS¼Ì¯\fE>Ý­V««‹]ÙþÇêþiê\òquzªrqyý4M.yw¥F*Á­î'Æ%ﺘžËåu2.<Ôí~
\W¹ø«Äq®‡Ðã•ËÃ\w\*›æÎŒ•Ý1³Ìõ(<óòEâW~åY)þµS\wžµ2Û8Ã%…g³\;Âe¬v‡Ì—¼ò¬ÿíè\yèõQ¾™ëÁë©Ì’1¹n½ÞŠ¿˲Z·±¶åí(\2ô<ÁÀI!¬–/çÀâ€Á°`à´dðŦåyë¸z÷[fšÍ50Ö,¸>{#”yï\™7Jù²g®<‡‹ Šà¾Â³´¦ … 퀉huŠÑ¹roÔ²é‹+ 9Å`™ãÅ`ž‹,öD.9>–ç÷À%àòë\™çDÙXæ’¡\3Ë\‘çHYZåÊ<gJb‘Ë+D91Wì9T6Ö¸r—°:¥¦'¨¨&(˜¨&iàµË•º†Õ1`0=G
LPã1ÎÇ%]ÄjëaŠ˜a0=—Œša0Üp]\®VoŸvåawñ¡ßƒA†Ë¿|Ûœä»{½
ô?\~KÒ¿|¼êgÀ ïáºì\*= ­
¸¢~†ª<j+ëa=ô8\„ôcÉÍ
Þ°¹Ø¡-]œI6çrqC
zznÎZ2$L.æp±Ò©9C0¹X<71d>+íGÛ-ÙšÅeƒ'oZ‘z°¿«a’öÎI6Ø0¸Ä`S‹Ÿyйò°È`>‹,ò¾+’ÂX9Ú¹FÂ"‚Í©\éFÈ1Å„È%ÆÂ"-i\¹É \Ø[x}YX-™‘!‚µHÞ2éöՒ•ZgŒJdðá`I5üÄ>¡ žKši¦%碞 F\‡ò™mˆ`e…2+z*kˆ`Cf{™\´É°ÄrÅc9dž(ϰ\=Á3D07Ãþ¬¢‰kWä„zà¸ÐBštø(®ldÌP°
¯†AÑ{ÁIØÃº!­Ÿ!¸2~`6Þ€%Ý\±+¢A°u7WèˆÆ“útren
rÀf\±cÃ…ôaIWèØp!Ÿô²ƒ+wÆ%Óºtp¥Î
.Jœup ÇfZÊ’V.éàpáæüº•+sp¸pÛHA+RåýA±PV4kå
Š ‰ÊÑÆ…Uù±PÓcÓÂ…Tù`h®‚dCÀUùÍà\Cœ·p9°·Æ6Ä™ž+sQäÑ‚–h¹ÀE‘G; µ–K8ª8SZ踤«ª›úsWF
«žìü¯š±?ÿŽÏ4­¨r†õó¾cÀ
¢–(®¥–KVnÜ–ÐJt­‰†KÐbV®¹–ëø1eÃ8‰Ÿ À™^ŽËÓsAI½r|¸)ЖœéµFr­µ\yéùÖ 1³$PsÑyµsZ®ƒíÍ΃0³¤ô35— :¯v®™žë¬’²êA?s`‡k,׳q)¸ÎÚžáÍ£ô‰Š+§ÆP\K-×YcÊ^IŠ}è@_{x®¹ž+~~D!eñcÈkíJ(ßÁåé¹²ãßÊ)fˆ˜(Š+$ša'×ZËuø¬ÅáGø-»Na+¸ =WtÍ3T£í6_Á•QͰ“Ë×s>쉸<Èd¯œ`¹æ§ÚJ®ƒq\PwŽ‘"P½ò¬Àr-ÂgyRr•DвJ8{ªl,ñ\ñócPs¥¬Ujgˆ¸hpåd3lçÊ*8
.ÉÚ,IqºDÙ˜x.ùlj®“I6Kr\¸V\ûŽz®”µg‡z ÊÆšÂÇÑpIÖž]g/\ŒôÅv®ü(
®c‰{v1ª‹@“YAá*ŽJ¯ãÎSŠ2) ÉÆ‚ÆuTz¯ 剀&k×Qéu\!g~IÔ³î Šë¨ô®Œw†b$HÑÆŒÈuTz
WÌÛìïzþó*—dL¯N®ƒÒk¸BÞáLŒyø@’5•ë ôj®œyŠ‘b3ö6
*×AéÕ\ 7³HªÊ3¦W7×^éÕ\‚™¹#1Ž(QT@çÚ[w¬_W®†Ø%p
ëP¹[)¸ö½*®ƒÝKFÈ!ÝJ•¨]R6¿ÊuîDK4YÐ
1BÀÊ"¨r­Ë¦Î®ç"œ¦`·ae.ÄžÍ\c˲¢Îj\¹†+=òätCL29\jLbÞüG}ÿ³É=?ôi%ÚÓV¸G6*Gòä‹J\±’Kžz
Q"ì
Ñ¡Ö$‚ÀºÎ•)¹ÒSå”û"tðÑáLïûw¯´¹-kfÃOÕ¹¢“ÆHz¾UˆçÊ9^ùüþE^WT¹JQc_Ñ >:\b|ɢɕ*¸Ê©(1Ù£î x9Ü`´)irå
®²ÞdäEà¹"–l4lb^4¹Ž¶Zá
Ë–¼“Oí¥Ä%X²QŸ˜§Û{Šuq™«šõÑôT±Zù¬òpŠ}Œ2W\1ì´‡Ô?@Ë¡vñw~¯ÉÛBÉ%\aÅòòR5õêí$ß¿øÔ¿à
)•+eÊás9LV÷¸º£y¿˜T¬ÌÏ&É%xQ”ó\!/ŠrKšÈ¡Ã\¹¡ºÊ•q£Cǹҗ&‡G®˜ºÍñ£C§¹ÄK“ù#WøÒäðÈÅÙšŸ—|q2àÊ^œÌc¹&!óåE àܲûѼ<|[Éå¦Ä³e¾\çr£ú©wq]Ùö;ïö6®ó)£í®FšMÀ¹å5‚ë¼oSŸœ‰’kÉáZª¹Ê3éË—`»/5¾Fuj]œs¸æJ®\}¾²Ý—@cƵ.z.OÉ%ÔçüMµ½êrSk]\s¸Ö
®´©r€rË3,×\¾¬U\‡+Pp…ÍÇh™ë`°ºÜ¹Zg®Y“ëY4ü‹ðd÷€rËšk­æòU\õë|(®ÆÀ“œïüÉcx4×¢•kÿ_«ô`Qu,‰Šk©tEÕxѨìdžÛn,»¹Ž/Ÿ7N>{•ëå.Î9\FYÅ?P›ØkW)-¥:ÄçÜžz=W£QõÐé˜Ç¨0jƒá:§)²äÊ.®9\õF¢˜ïi(—gÛ¹¤†+Ös®z£ÚLÙ›å PaTá:ÿC‘ý¯æò9\µFõ‹§Ïå÷Á¥¸Î×Í¥h”Õìj[®ÎÌ¹šº¡¸Î×Í¥»¨ÖËž.©áŠÔ:¯¸Î‡àj6Š•0aTP˜èaxʹ­v±yÁÕl$”Žŵ@qejÿ•iâ(Åu>W³‘–+³ÄÇsRëbó:‚«Ù(T:"×Ã%½†"·®S×ù0\FZ®”F•úpüŠÆ5z]©¸Î‡áj4*W?"ŠkS®¿–Ê.6®óa¸´\À£
õÀhvU]<Š6«ÞÈ€«@sªŸú‰¦‹õë|(®z#-Wl‘k£ÅDÝÅúu>W½‘–+⇇…Úà4Ûû.Ö¯ó¡¸êÂZšê‰KXãò
W)T­t±vÇUkÄçš!¹üué§G¿|ÜöXª»X»Î‡ãª5%Å®p…v¸Jù‡åxã°í¨»X»Î‡ãª5jÄQ)–+(pë”BÅUz?”¢‹{ѦrUEõˆ(>ryýrem\Õë|H.ÅÀr#,׈+×Åó§ R¹ªÒúT \²g.©¹Å¡¸Î‡äª6Êj’-=,×Òˆ«håW¥‘¬…æ©\9‡«Ú(¬N0qäêÎ=\÷ÈU¹Î‡åª6ŠÉø[®l\®˜ÃUi”žO•Ï›¼£se®J#YîevŠ7L–•¸$‡«ÚHœÏ¿<WÒ'Wù:š«Ú(mœWºÀ•r¸ªj‘ Øs™,—Q\a;WÎáª6ª®ŒƒÈ ®Òu><W­QeÀ’x@®¾‹1‡«Ú¨šF{®Îí
ßKxå-Ú…:à§rÕ}./Óa¸NoÐtQr¸êJ[¸Ü)ûüÃ/ÎïŸïäšJ¬,ß„îm¶Éåö¸Ä+×+׸æ/”+˜&WøÊõÊõÊõÊõÊ…ãZ¼r½rõÏå™smW>è{¥”ºãr=ìßaæ_cºK©;2×UýúZõeC¥7Ì)êªOÔ'Užâ¢”¶wÆ\¢‘¾QÍÓ/O5ë2¸6ÕÍО¸>7W4Õ—yåçÎϘU\ëêí‡K*N”ª/4LO[üuó¨“k9¨–Ö¢<Áj鵺 ®EQ™šýp…ª£2(σ°’&S¯Ëà
ª–Ò Wþ|ðtQ®[~uíù´^Y—Á5«|t?\éé PÞ–>´$çì
e]>WÖ'W\:±ŽÎÞ¥ä²ÎÉ皺ªm~õ§VwÒ>¹DI äyV5°ôBfM]:>ÝNâYo\ayNÔ”þl<IK]×ìô8â..“x¾òk8«ÅieÕ$mU]×üô8¶O&†+=ÿë”Õ$mU]WP~t 3®ŽôÃÓ¯ó‹mY–Ä*)Ý‘Ò×%qíîÓ²W®™î;žRRqÛV?žK'én
¯{ã
ué8Ç3å¼¶¤î๢ãßÛýåMo\‡Hp£‰g•i¤­KâŠ2´³ô¤7®ãYçåF`í3)žå\[—ÄçìW¿èë¢7z{øâ‡°ä‹õu•\ÍÄÎ=Ezœ¯;÷ÕW)¤ÖÛøÙÛœ|±¾.…+;@´ûÃf\mçzåz•÷§Í,Zm]
W~üçÎ-ÃÆÊ{•ÅqÒY—Â%½Ó Ñí\FçËR›Y*Y-úº®âè˜÷?í«–Eë' u)\ǼwË}r•^´U¥P}Éœ®.…ëà˜³½ï“ëù"l#—J•lÚZÇupÌÙ¾¾WgÞ×C¨š5BùPÔuñ~yï“Ýÿû\6òÙ¯š‹šT³ÈQÕ%p¥{ Ü»åþ¹Î½×B©
ª.ëà˜÷ny®gQ˜i'M[]×Á1ïݲ!öÝ¢Y»´Õ%pÉg/¶ŠëœxÝÍU«Kà:8æƒH¶r™äcï^%³®ºb-W[]
×Ögùyÿ´®ª{…ÎÍN]]
PŸTyŠ‹RÚÞs‰FúF5O¿|<Õ¬ËàÚT7C{âúÜ\ÑT_敟;>cnTur­«´.©8Qª¾Ð0=mñKÔÍ£N®å\ ZZ‹ò«¥oÔê2¸EejöêŽÊ <ÂJšL½.ƒ+¨ZJ/\ùóÁÓE¹nùÕµçÓze]׬òÑýp¥§ƒBy[úÐ’ž³+”uù\YŸ\qéÄ::{—’Ë:'ŸkꪶùÕŸZ=ÞIûä%çYuÖÀÒ ™5ui\þéøt;‰g½q…åm8QSú³ñ$-ui\³Ó㈻¸Lâùʯᬧ –U“´UuI\óÓãØ>™`®ôü¯S
×V2üìà
¹ÜþaW[]
×n¤Sïô¢ºÞ¸fÛò[¹tu)\p¸ ëwq™Ü»•_‹Vo«KáJ7kfæ\ëöåײ¼™k¹ÚêR¸²³Sï+-gTû˜ZgÛêR¸òój •Ëäâ¡­>ÔZk¹ÚêvÄó•·mÉê© ײóö|©_,¶Õ¥p•Þ ÛWܲV«sµÔ%q —ѽ켥j«¥.ƒ+1çZàÒmê¡#VÑ×%qÅŸôÀ•ë¦Á•s÷£ªpz*­\FïߨîÅ|Y´réë’¸tïgµËUêìuÑÁ¥­KâÊN>½Ëh#{ç®BíA‰I]£bøÞžc¡|½Þ0_Ågøž%g‹á{±^¹†çê~Ýò4¹â¿Y®d’\Ý›Ir™,˜_¹†ç2ZXNšk1I.ù7ËL’«{6¡\³ir…/0ð5ü>ŽW®¸¢øâ¾Çg=I.x¡\é 
¿×l¬Òõ²×¥á÷ÐUºº¼Æ}o sTj‡Ë¹@ªKêÃïå«Ä(®prGW(ýÞ[×Ñe_Èï)vm§-ìÒä÷J»px(.˜ZÀ!;ý-òûÍ 82×ä¾ÀD[Î9fèœ6€1WçsÔ)s€‘ç˜ètK€qÎ9°°sÅïšëûe¯Ž9°¼[
@@ -405,10 +418,11 @@ endobj
3Cìuá,ùV…™!öªõا»Dsá
±GéÈ l
SCô“‘5^)^`&°}Zâgo†Z.ém‰¹‘tAalˆ=i¢0ò¡`<i{òÎh+TïŒñ¬íÇ;ç†Öƾ¾—)&CCÙOÌþŠ%2}¤`aâÚ÷b.¨\)iÀlj2—ôF“¡ù;FnL
f|jÆÕ¯*š$ rõé r M¹ú3KÆ7æ"çP÷´0±ÏÕDzÅ0]Ý—}Y4¿7a…«vmñÚ¼Gv¸¶¶hoÈf›Â®B^¹3X6¹,

–ÌÁb@Eš×Kí¶å‹¥°%Ô » %«0WÅ[;&6Ö«ÁhXúx¬ì/”ÜÉfH,½T­(íöv %l? ‹Údªd¬–Ûh`ÏóŸ­ƒg‹yHý €ÍU„°ú7£Êýc6|®”Ååù÷ÔÁbX|[ÐÅÅ0Ï»Lz¬öµQ'Wìq þKçk&\Òã—K”5æW¼¿¾6â2°Ý<»î2ÇG&UÇò¡›ËdÀhOú¿}²ÿîÒ‹º SäõScÜäã*4y\…)WîÙ)—«ÕêíÓ¶<®VW¡á_[0ë¥+ÿÃ%äZZà2“ÄQ† ÇåÞ€­­p97`Ý[_8.9µáBrNm†(ˆ
=$WºÄµ±Ç•Mk¸Ð\¬Žž4>±É•;õ,lr9£õ¸ã
<— §¢ñ4.î΢AãrB:°ç½.9+¤q9`‰è£C×è–ˆÏ: qå±B*×Èñ/á›È5ª%Rr_¨\czgÊñ•kÄÀž”4GæmŠÑÒ^è\#M1bbƒkœ)F<Ûep2ŨY.JzàšÁæ\;è©r<®µƒ‘Èä’Â])4áRY©Ã\®áÀx™dl.FÚÏ ŽË˜k ÅóÆ×þÙç^¤0áêßùYšF\}ƒ$Ÿšqõ«Š&Ɇ\}:h£hS®þÀÌ’ñ¹È9Ô=-Lìsõ±l1LW·Ãe_ÍïMXá*¤][¼6ï‘®­-Ú²Ù¦p‡« –M.KCv¹)\ã*ä± ¾µÕ›\üÔê#Õµ½žØå2H¯F¤nÉÅ%³KÕ‡ìò­í>ôÁEÌ‹÷W=¼ç¢®myÂeÇû—÷½||o\ûQë0È‹ÕS_ŸÝ'×~ØîVêqº~êósûæ: Üî†ÃêêbW.W«ë§§Þ?r®
200 0 obj
$ß¾Iß<È7ï¿ù$n? ùññãÍ×â>º¹òû¿{Ê>#Å;ñX@.òŸþðëÿ}÷ó¢øå‡Ÿ¿ûîO¿}÷ãßËÿÞ6¾··»Æ·w_ß|ïn?ÜÜíšïš½Ë‹ß½»½‰n¢ÿ¸ÝU~w¿ýÝ»»H¾ûå¯ç? ?ÿôýo¿ÿõ—C½7Kê§?ÿõçÿúãþºí槯ÞmÿïÓ?ˆÏ?þ(²ÝÙÛNýïßïš&r õÿÉ„ñkendstream
endobj
200 0 obj
6310
@@ -421,40 +435,41 @@ endobj
äHendstream
endobj
203 0 obj
204 0 obj<</Type/Page/Parent 197 0 R/Contents 205 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
205 0 obj<</Length 206 0 R/Filter/FlateDecode>>stream
xÚ…TKoâ0¾ó+F=Ôd P(Ç¥/!µÝl“V{ÈÅI&Å­c§¶býŽ ºl¥UN±?{¾ÇŒ?Œé‹`1éŠz°Jßn—-!­`ÍÂÌ3HËa¬±bŽÒ7BÌ Š"è Át²'•n¸£*»c¡5¨
ÔL¶L@‰¦Ð<Gµ«Ü.Ø
•ªk%áùqý bÍ¥åò’½±XC6<»zŽ“³l/tCM»‚Q8¦¯cE¼/ÂKÇ‹Óeèy÷ýØ¢ÞrÜýÍŸp“y‡KÿäÑjËI0h”¶,Hk=F°=j¨”ög³ÉÅTƒšùMã/0!¬-l˜9#Jòf‹‚N”ïᆙ=$c­Ê¶°Æ9Fje(ËdÉty¤`”h-ùãY0!:[”¥¢ }R×g‚s÷¨ÍÅÑë}qg`…úî¡ kh!\"PIÔ®LØßzpÑ_GWwW­N¢=šIj¬*” `×7ém°ŽcŠ–uðœêÇŸJ±W‡÷òàMå^|´ØRQ °NäÜ;^¾ qÍÐå˜
ïãësxº½Š¢Å2CBM@ûh {EX U¼,yX¹]Wá{Ó$´Hœ›ž*U¦˜0ꤤi× ÚŽÛ
h¤œè§jeá‚`‚Ûý—þ°²4@¶ì”~ï§\«q’‹X›Ð´4ö¨ÉOã#¦©ˆãkŠ€,ÃOM ü¾ë•¯¹IšDª+J`M#xÁº­,±kÞ¯“zJ½m7Ek¬ªùoª½íÆTwÏp·9RφE«5J+öÐUÕ¿¨Y8žf£¾Î&×.¦ŠÓ¬=­cjf¡ õÜ¿-¥›‰ƒ2©dðɶÞVÓ?
—ÇÆýËðéE›]ŽÃ%mºÅýߤƒŸƒ?¿¸¥†endstream
endobj
206 0 obj
690
31
endobj
204 0 obj<</Type/Page/Parent 197 0 R/Contents 205 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
205 0 obj<</Length 206 0 R/Filter/FlateDecode>>stream
xÚ…TKoâ0¾ó+F=Ôd P(Ç¥/!µÝl“V{ÈÅI&Å­c§¶býŽ ºl¥UN±?{¾ÇŒ?Œé‹`1éŠz°Jßn—-!­`ÍÂÌ3HËa¬±bŽÒ7BÌ Š"è Át²'•n¸£*»c¡5¨
ÔL¶L@‰¦Ð<Gµ«Ü.Ø
•ªk%áùqý bÍ¥åò’½±XC6<»zŽ“³l/tCM»‚Q8¦¯cE¼/ÂKÇ‹Óeèy÷ýØ¢ÞrÜýÍŸp“y‡KÿäÑjËI0h”¶,Hk=F°=j¨”ög³ÉÅTƒšùMã/0!¬-l˜9#Jòf‹‚N”ïᆙ=$c­Ê¶°Æ9Fje(ËdÉty¤`”h-ùãY0!:[”¥¢ }R×g‚s÷¨ÍÅÑë}qg`…úî¡ kh!\"PIÔ®LØßzpÑ_GWwW­N¢=šIj¬*” `×7ém°ŽcŠ–uðœêÇŸJ±W‡÷òàMå^|´ØRQ °NäÜ;^¾ qÍÐå˜
ïãësxº½Š¢Å2CBM@ûh {EX U¼,yX¹]Wá{Ó$´Hœ›ž*U¦˜0ꤤi× ÚŽÛ
h¤œè§jeá‚`‚Ûý—þ°²4@¶ì”~ï§\«q’‹X›Ð´4ö¨ÉOã#¦©ˆãkŠ€,ÃOM ü¾ë•¯¹IšDª+J`M#xÁº­,±kÞ¯“zJ½m7Ek¬ªùoª½íÆTwÏp·9RφE«5J+öÐUÕ¿¨Y8žf£¾Î&×.¦ŠÓ¬=­cjf¡ õÜ¿-¥›‰ƒ2©dðɶÞVÓ?
—ÇÆýËðéE›]ŽÃ%mºÅýߤƒŸƒ?¿¸¥†endstream
endobj
206 0 obj
208 0 obj<</Length 209 0 R/Filter/FlateDecode>>stream
690
endobj
207 0 obj<</Type/Page/Parent 197 0 R/Contents 208 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F8 7 0 R/F9 8 0 R/Fc 9 0 R>>>>>>endobj
208 0 obj<</Length 209 0 R/Filter/FlateDecode>>stream
209 0 obj
291
endobj
210 0 obj<</Type/Page/Parent 197 0 R/Contents 211 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F6 6 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
211 0 obj<</Length 212 0 R/Filter/FlateDecode>>stream
xÚ•ÑÍRƒ0à=Oq–u6€@Ýù×Ó*¡nÜDHÛhI4 íèÓ›@;Žé¢6Iîýr™óŒÝ"H2ÿÕmpKƒËéä**@—î.Ëó(mF÷ªîZ.-f[®·‚ï.軫MAÈP&“¡’®…QK»cš£3\´Lvlw¡ôŠIñÃiìšc©6µrÃk+”4×^ïñ¸ˆb„q¥Þ³ÿ_„˜k'z¥ü6–·GƒÖƒ’Äq' ÷y–”8©´L6L7Ä5fŸýÿ¥º[óúã0•Smg°¬ß¾ð·¡£Øw’E9HZô¹=ßL©ªy‰òJÕ§òاâ›C’¦Ña}SìÏ’¢Àødô4x
~aT¡¯endstream
endobj
209 0 obj
296
endobj
210 0 obj<</Type/Page/Parent 197 0 R/Contents 211 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F6 6 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
211 0 obj<</Length 212 0 R/Filter/FlateDecode>>stream
UMsÛ6½ëWìÑž‘}8Šul2É´‡ÔêXnsð"—"b`PŠþ}ß‚ÔG¨L2ÓÑE$w÷½}ûøw4¥ ~Sz7£ù‚òzô~=zóiIÓ%­KšMÙœïîi]ÜLéŽV^ۨ햞!rM;ö;ÍûÛõW¤ÝÓt*iw]ÞÝü~’¥Ôu¥å•j"{j¼Ûé‚)K®Ï'WRåö®®¥ç?ÿør…·wþ5dH¾Ío¨å‰ÏI+ï6†ëïÉuÁ þä<Xù@]È¢¹ͱJó£*7T©@QÛ–‹Äõeöv‘ѳ5ú•é³Î½ ®Œò–þѶpûþò³ÊŸÆ]ƒRÅ:©
GÑÿ>kÑqÀè<'€Ú…˜j+Ã6f}±Ùâ4ŒÀ×É=i2Úò‰6½ÜDþÉYsx¹•~W¨ý”{ÝÄ« !·õª©t^nÇéy¯c5ÔÑÕL¹Sßt§ÇrxnÚªwb¢¨l!¯ì–ÅŠ'<)\j“Ä®U„¸¿»=ôc”ÉU‹öXåCÜòrH%)
^Óy6^!*[(_°/UÎ’: ´X¼*å]Û4Î÷4StÈè7È·MRgÚ¨SÏ;íÚ`¤vJ…–Æ3€~Ïþ•
GÑÿ>kÑqÀè<'€Ú…˜j+Ã6f}±Ùâ4ŒÀ×É=i2Úò‰6½ÜDþÉYsx¹•~W¨ý”{ÝÄ« !·õª©t^nÇéy¯c5ÔÑÕL¹Sßt§ÇrxnÚªwb¢¨l!¯ì–ÅŠ'<)\j“Ä®U„¸¿»=ôc”ÉU‹öXåCÜòrH%)
Ú5ìÕ… „\Ô§B—%{‰è„T•|‹–ÇTÖ¸æbÔÔÂëp_(ȯ¢šçšáÁÖykbFëJEHUo0“NËmt­#^ì`¤Z*
0ó6DˆÜ£Š]·GÄÞø’£Do•ăvŒ@kj›K+§,`ªŸc±Î‡ç ½â˜Ñ[é@,ÍXùl{FV¬$° †cë-†ñ´ÁÁW—’„Kß}‡l™‹ ÃBª¬ñj 
 Å~kW´Fyqª$œO
Xx<
«t°á¨Á=«&•ß°åR4I»X\.‘óÊ:㶇ÎÙàŠË-¯’‡óݰXÊòëÛîþa’-‘€Ð¹<\þýçm»endstream
@õ¶#@àäÎ&Ò'6(¹,ù„+ß\zž<btŒ&N—ˆ„—ž´¶Ìà|Öo\ï¨Ó™"«u:mN"ˆÄøÆ
Xx<
«t°á¨Á=«&•ß°åR4I»X\.‘óÊ:㶇ÎÙàŠË-¯’‡óݰXÊòëÛîþa’-‘€Ð¹<\þýçm»endstream
endobj
843
212 0 obj
843
endobj
213 0 obj<</Type/Page/Parent 197 0 R/Contents 214 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F6 6 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
@@ -468,30 +483,31 @@ endobj
¿ËóÅuk<
QêÔª×-§ÒIAFùG@K’WÀ ·ô¬U‡Îm
D"IøÜzÒb¨Ó×¼²Sר0­¿^­]Ìnåp¡rSL¢#€Êg]DÙK[7•
ssdÅs%Ks<«}ÑŒì”Úd/ˆ˜ ëSVɉMÉ’dAôšKµg´²õ°?ö7BÄËú”°¹TU…`¸9Y›O}…XÏ©(NŒ)äÙœÑ_<‡<Á·9äþÈõRˆZ³ ÍÅ…ßúl*„Qlej¤!ŒY™ÄÚþB¸ªY~‚‘CtFgôŒ·ï"2½TzÈbPÑ€Õ‹–<$sä0Ç$«š+¸žÑ§åìÏû×Ããòöãð‘ <ßâsöÕãìÖhWZ¢æUáTâÙý5ôUx&ä.~ƒ!É&nù-
I~½[âC¤r ý 6Ä8“‹“(P¥µ
µhz1ôo6{}ºtóÿ‚nè`ߊ`ìÐ:XhDhŠf`ßœ0±;ë¶Î">–áV9(l’ÿÃéM³²¸/<¼:£Uj™/€…ºÁKÙ6E¾Çëeê<¬ß
YC©ã›To×½ç‹wÙ[Z\_˜Þ
Š©<žg'£à¬cë0Òawì0È ™1ùÂÖB#a7Ikrõ‚ÈèF?)^ •?,_Hc´ñ,t%V•BT¶ìÄ,ÄŽ³åä^®6KîøÒFÙ#ŸÑ»¿5ÏOÄ—h‡T=XôíªÖ}hϰÒû¦ í¢v˜ÑçhÈX"@©“¯ jþÑÂÜÚzŶ„KÖ0ɤ6Ž ¼×O†
Û²Dø€l+áàkgš‡­o£GŒ*z|×§ÁNx-žÕè\\h§Ãše[O=Œ»“Íý’£õ‰£=¤m´êMWZ§Ãö->V¸Rù·çØè1hÐJÉÐSN£§mŒí '5!A¾} ƒƒ»FA•{¶ÔÎOÇÌN‰Ckj7Ç8oU{«+Î÷·ÕöëÉ4X>õ½hšjh$–Ʀf"Ì,bQF÷fÒlææ©’çJ–æxW»¢Ù)µÉ^"1Ö§*“›‚%É‚è5—jÏhiëaìo„ˆ—õ)as¡ËÁps²6Ÿú
±^RQœSȳ9£¿xy‚osÈý‰3ꥵfAš‹
¿ñÙT×BnTj¤B³3‰µý…p]³ü#‡èŒ6ÏèoßFdz©ô%z
Ä ¢«7-yHfÏaöIÖ5Wq=¢»ÅìχãÓáqqs;|d@Ï·øœ½Fõ8»+´+-PóR:Ý„xvw
215 0 obj
}ž ¹ß`H²‰[~KC’_ïø©hbœÉÅI¨ÎÒJ‡Z4½ú7›>]ºùA·JôN°‹oE°Fvè*XhDTÍ$Á4¾9abwÖm0œE|þ¬ÂvPØ$ÿÇÃM³´¸/<¾;¢ej™/€…ºÆKÙ&E~Àëeê<¬ßUC©ã›ToçççÙ{º¸ºJ6póõÃm}Å"—xÏí¸%¿yVǼ,‹ŠÏÒ©Ùåé :çïÎO®2þcâÕ?üQendstream
endobj
215 0 obj
1367
217 0 obj<</Length 218 0 R/Filter/FlateDecode>>stream
endobj
216 0 obj<</Type/Page/Parent 197 0 R/Contents 217 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F6 6 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
217 0 obj<</Length 218 0 R/Filter/FlateDecode>>stream
xÚ…UÁRÛ0½ç+¶¹4Ì$'![K)Óvh‡–0½p²«È’+ɘü}w%Û$¦°´»o÷½·â÷(…üIa=‡Å
x9ºØŒŽ¯Î!=MÎ`“ãÝj½NV°É&7Vj/,\Zù$¬;ÚüÂÈ%¤iŒ›-Îã²RÇ»›[àF;é<˜Œô«4V@.•§0W .sÉÁ`PÅ"IL•š«:/++%º{j¡ÓE2'è ¹±ðI4Jx?»aü‘Ù ®™ö‹ðÀt—Â=Òßm—ÀÏBbU_H×ö
™A<m<l…–yì¸ò²d
Lí«Ú  3“y.¬Ð}aœ0ÊMAúX/%²àC¹Â4°35p¦¡±OðË‚itŸÞQH=#ÆV†Rо%^#oDV…Ù—¤YRä7ác¥ÞþO½ˆÉsÛ6©  ÇñÝÎy«½)™—x¬và
9K vD.ãFÑ,7‡h¯zŠÍô&}MH:l3ZÕ(/éY‰
<Ë ‘¾ƒñ¶
íóu„O`ƒ<†À
¦qÄ _WÁ&-žRÜz¬]«[×—Û @ÍIKÔÆUÆ(ä
HR!Ü ô#õGC|Ÿ8£¤öqºàYÎk‹ó`ßœuÓM)æe/6 ‰òI=·ìáKvc%F)„
Vèd⺽9,6ï1wáÄ÷íMû²;[mÒ X.ñ
Þ¹5…oIü»`éoL7,lì<FÏ׋³üS:¿<K7n/èûÃvòcòj”Mendstream
endobj
218 0 obj
„ýÀB:€wÅÄ3n‘‹4SÇŽ’(sJ\ reC:¡÷! K|صK¶{Þ]È1±z?É6q›ÿŽÈKÇDæÁÑ|œÜµåæ«h´°µL9RÍ<IZÝè¸U븉Ä5–÷¢õØ¡!'Sˆ‘˸Q4‹ÄÍ!Ú«=‡c3I_ †$ÛÁߌVÖÊKzV"È…ô%«bçÈêÒ]'Óà(ñ^¦)8Ä`£ßz°B‘Ñ5äÕÛœ
…ªxšÀ…ଷw`“`ÛI{oÅñ§ý[F ¿6gŸHœ‰”ÇúvìŸ8ìmÜ6Ø ês&UmÅj­ÐÉÄ%´{³_lÞanà ˆïÛ›(öY+vº\&ç°XÌã tùãýÕfñå¿5¹oÈwÁÚ_™®YØÜYÌš­ç'ÿøç´<;Á€p{Jß7£ï£?¸&Ohendstream
endobj
219 0 obj<</Type/Page/Parent 197 0 R/Contents 220 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
218 0 obj
821
endobj
219 0 obj<</Type/Page/Parent 197 0 R/Contents 220 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
@@ -503,86 +519,88 @@ endobj
endobj
221 0 obj
124
xÚ•SÁrÚ0½óÛCgÈ ¸6PÀ=¦CŽZœž¸{‹Ê’#Édü÷Ý•pÒ¤i;\¬•Þ¾·ï- Rúe°YÀr
e;¹-&îrÈr(jX¤«$ƒõfE5]ÀîÔà„½•Úóá08íMq&Ü
²Œqóœ/Wi°E#è<Zpyr0˜è¼ןZégðØ£f t¥Ð%*è˜Îæäø]%ë-R%ÔѺ$ò’ÞÉ–™S"Í#ç!t
endobj
222 0 obj<</Type/Page/Parent 197 0 R/Contents 223 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
223 0 obj<</Length 224 0 R/Filter/FlateDecode>>stream
xÚ•SÁrÚ0½óÛCgÈ ¸6PÀ=¦CŽZœž¸{‹Ê’#Édü÷Ý•pÒ¤i;\¬•Þ¾·ï- Rúe°YÀr
e;¹-&îrÈr(jX¤«$ƒõfE5]ÀîÔà„½•Úóá08íMq&Ü
²Œqóœ/Wi°E#è<Zpyr0˜è¼ןZégðØ£f t¥Ð%*è˜Îæäø]%ë-R%ÔѺ$ò’ÞÉ–™S"Í#ç!t
ï¤Bµ±Ï²_ë¨5£>ßïÔÞ\dE“ñM7N ßá8Ðô
ªîu¯éñ&Lp‹ö*þ„°¿CºÑÏÒ´-á]…¹Î/ ¦Ø–Ra-zå¹éΖɂu_£Ã#õ§439Íu5Œ¶¬£ýâ‚ñÂh$
\;÷΃F¬ÝÐá§Q}ÎD5¯É3é¨!ãÃ{P]ªE‹°ûRì¾½Ù
†Ž>û_í¿w öº¢õðl$Ã/»ÃC90uèèèÂbéíÔ¥ê+Î`oœ?”Vv>D)[ñ€ñ9¥Â«,”¢~ÛçÇÌjkZêèhb¢ë”,…—F;}ê÷\I3xjdÙà…#"ݤ‚îõµ$áïâÌÛ—ÍÒ4Žü׿æj›&9Aèí†Ï»bòuòž5Ùendstream
\;÷΃F¬ÝÐá§Q}ÎD5¯É3é¨!ãÃ{P]ªE‹°ûRì¾½Ù
endobj
224 0 obj
504
endobj
504
endobj
225 0 obj<</Type/Page/Parent 197 0 R/Contents 226 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F6 6 0 R/F8 7 0 R/F9 8 0 R>>>>/Annots 12 0 R>>endobj
226 0 obj<</Length 227 0 R/Filter/FlateDecode>>stream
225 0 obj<</Type/Page/Parent 197 0 R/Contents 226 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F6 6 0 R/F8 7 0 R/F9 8 0 R>>>>/Annots 12 0 R>>endobj
226 0 obj<</Length 227 0 R/Filter/FlateDecode>>stream
xÚ­VmoÓ0þÞ_qB* ÍÚõi lð([ø^â4ǶӪÿž;;I·ve›„6uss/Ï=÷Ü9 Œð'ñ”~³jð1¼»^@rÏ!-ðÙt6‹§æÃe©µj
VF(ÇÍ›ôO I‚i4^Ó¯LíÀî¬ã•…­J¶áPiÃÁ•LVê؆ Éî$>Òø”Cc¹‰!-¹í,dèuÇ9Dz’ç­-!À¼É8>§¼RgL¶‰a#B­™aRr ÚÆø¼Öƽ¥ó>³Þ Ê­¸Ûjó;nŸOã N5:cvÂ:ÐÅ=×á[ÂícZF--CY[ÇÜC®†éªb*ß/¨‚‚šÐWÓ—Ðá5„8Õåpõ-½ºy3"߮ȜEõèÚ ­ÀÖ<…à–øw°Ó
l™rDãÃÂöå :_ÎY”÷a 'ò¬ÿ>kŒá"Ð}Љœ¬‘®o2²Ifí#ÄzÂ:”Yç¶çô>ˆV&G4ÿЉÛs!$W¬âO­Mqõ$Fó?@ˆVÿD¹Ÿß§'û–;GÜŽ/|÷XíÉ1¾ÆÂ*e·«Q9¨J†Ò ÒŽ:‚¡ÃŽÕ66R@
ƒ‚38\<·1|Ñ[¾¡æb\Áá@?NT˜q[råµJžÄi†ËcÑå£è~ÌÈÉ!Þ‰™v:±æ#ݽ@@€ Do­j”ñQÕߌAºSÁ •§Ab6›±šÓÿ‘ôrvA§Šç‚]~˜ôýŽÕë'À³Õ‡ëÙ‚ÒÝ1¼Ážßƒj=™Wé`ðö „>n>Ãd|Žé“Å ‹¬`2áßppKw š.æBx´F{B7ÌìPc5W91K#UöVþv\‡*g&ï}¨á9·™w(¡à4Î{ÈçE<;ÀùÐŬûÒZôË’Õ„wìÙ[Zëa|4‰!@?Œ«V™ð§HÔHÁR׸ ONãGíÊç->êè³{oÃÝ|œº¡9¸°3]ïüÝç5øBq+PMe¾ÄGvÖá~{õOëšz(m*Û]Ëô«ZéGnb)™CÁ´{
SåÇÞxETÔ„¡š¾¸Œï!ÆÄ@RÂÝ×üîÛÓ˜ ùö@öà"1 Z•àŽø÷°×-ì˜òDãÓÂå ºPÎERa,'ò\ø¾h­å"Ò}Ô‰’W¬•~h2²]HæÜ3ÄÂz”Eïvàô1ˆN&'4ÿЉÛs%$W¬á/­m‡qý"Fû;@ZHÖ¿Dy˜ßg ûž{Oܰº³cü kh”ýÞ rP ¥A¥t8C‡=
Å¥aÍÝþA‹ãäý~jª¶¢íý¶ ±/SÓðƒu1oã$“I¼€é|NúɇŸn>\§Áòçênuá¶TçOK/Gø¾Õ0IîQðŠfç#ršÓwãÅ~5:ý‡#òcð7?òäendstream
endobj
227 0 obj
916
TÛ$E(ñ™u¼ßÞýÒúŒæ#AÇvßñ0ï«Vú™›XJæQ0ÝžBqiØpxÐá8{¿Ÿ›ªè:†;áh¿ÝÆØ7¹mùѺXvq²ù*Á|¹$ý Ç÷õ=ÜëÊ慨ïŽ^Šð=«e’Ü’h,®Çd¼¤ï&«Yº‚ñùw7G?Ï ñ endstream
endobj
227 0 obj
910
endobj
endobj
228 0 obj<</Type/Page/Parent 197 0 R/Contents 229 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F6 6 0 R/F8 7 0 R/F9 8 0 R>>>>/Annots 15 0 R>>endobj
229 0 obj<</Length 230 0 R/Filter/FlateDecode>>stream
xÚ½UmoÓ:þÞ_qî$¤^©É’4kÚI|àŽ
xk&>;©C Žk;«öï9ÇNË:
xÚ½UmoÓ0þÞ_qLB*R“%i×´“øÂØhÀX3ñÙIbpì`;«öï¹³Ó²ŽnÒ@B•¢Úw¾—ç¹—Ÿ£ü¥g0CՎޣ㋖qEMwóEÅzüªø>J JS:¼ÙA¤@õmTéNp ‘†3-%süuazµ\±–Ãù§âüš^_,!=‰d7BÃÑtÏÈÚYëB}×p¸2B9n`å˜ë-ÔF·þþL·-SëèR(¬Í€‚©1|²4'K*a2Dz³hiÿŪ`
Ò@B•¢ÚçýyÎ9þ’B‚¿Š æ ¨»Éåäô*UœAÙÐÝbY@¹™þ[~™$¥)žì!R †.ªu/¸…HÃ…–’9þ¼4‡FH®XÇáò}yyCÖ§W+HÏâ%ùÐq4_Å9y»hyýU¨ÏàZ×F(Ç
¬sƒ…ÆèÎß_è®cj½Šo9P2
¦Ožä©DÅ LFáTö=ZL¡Þ f
*ƒåpmà‹®,Æeîõ-»ã`‡ªΡ&)ô”'&}¾‹÷±(Óÿ#˜Q*ßÙ‹Æš£öj£9äyVÅâ¨V¶×JÏŠåqù^g^dË<;¬‡þ3_-3¤°T Psm6Èþ»‡­òeóM ¥Ë9l[Q·žlt€€¹ ÞXíÄŸ¼ÞßIÔŸìÒ!Ò½Z=Ĩ?‚ã^rûõ
230 0 obj
807
endobj
231 0 obj<</Type/Page/Parent 197 0 R/Contents 232 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
232 0 obj<</Length 233 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS04³Ô3U072PIÑp
VÎO+)O,JU-N-*VðMÌ+MÌÑ ÉâÒ…¨Õ…*64 ÅÀE™y%™yé
¾¥9%™
w ôvÏÓî2Jã_€ñÁPØ
Ý,»ÒÖ£O¼˜
ƒPŠýZôñrþN[üz2ÊŸxõÓ ^ Uã°ß^¯ eëõ_“]ï²¹6ÚéZË)Vƒf2j8F3ØÄ[^a‹š;n|·i8ˆî)üe9Iâ·}Rúܼ‚l™Æ+Èά­CêŠøl<IXÓnLð˜Rá›ieôÖrß0VÂisÐ& Uˆgïq¦ºöcu{óÂÆ7ŸaÚ:ןŸžJ]3ÙjëÎóôP5Ù©žÄp5Bj|i´Í×à¡“mà@7PKfÙ™oîÙáÐn…k½z-.BÔfP
ÎiõÏcÚ“¤3äL/,Potõ”]{¿ØÑ(ECž”÷f,X“Q$6£Ÿ.à ^ìò“£¦£ç¯ò ‡xË,ÞkãÂSB|T÷Ì^¤ÇΰsžòjÙq—£ ÍslÚE–^Þ¼¸*!
C´ÖÛÒ.¾µDð;¦摎‚UTdÉ~C…ïéD/éÁ¥wTóe‚š^m5NÎÇÉ7<x`Qendstream
endobj
233 0 obj
230 0 obj
814
endobj
231 0 obj<</Type/Page/Parent 197 0 R/Contents 232 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
235 0 obj<</Length 236 0 R/Filter/FlateDecode>>stream
232 0 obj<</Length 233 0 R/Filter/FlateDecode>>stream
xÚ-‹A0÷=Å[ê¢Ø/(ºT” J9@£ÅÔÔ‚´ÄëkÕ¼·šÌ<A|FH×ñ—ÛK¶(7 ‚ì@Y–l/äuv8ïJ Ž¢­4}^jÔh½=*å&eçòÎø¯áÿˆD„iNÉ
_PÆãn¨&Ì`5Š~0ÚGí(Ù‰½5'-endstream
endobj
233 0 obj
133
؆‚U(="¢)„q²á
endobj
234 0 obj<</Type/Page/Parent 197 0 R/Contents 235 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R/Fc 9 0 R>>>>>>endobj
235 0 obj<</Length 236 0 R/Filter/FlateDecode>>stream
xÚ¥TMÓ0½÷WŒVBJ¥&Û|4m‘¸ .,,$Üzq·1rlc»´Ý_Ï8N¶Ý²° ”S<3ï½y3ö÷Q Süb˜'æPµ£·åèöÝâ%”[HâY”B>Ï ¬ƒB(,5Ñ5Ük&,ÕðIY&…—ß°,ƒ8ve¡¯ Ólu¥eà T
236 0 obj
539
endobj
237 0 obj<</Type/Page/Parent 197 0 R/Contents 238 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F6 6 0 R/F8 7 0 R/F9 8 0 R/Fc 9 0 R>>>>>>endobj
238 0 obj<</Length 239 0 R/Filter/FlateDecode>>stream
VÑnÚJ}ç+F\]ÝD¾^*å!MR©RÒp yËËb/à+³ëî®ôë;³¶)`W-!ïΜ9gÎÎò­Ã Àƒ~Dñ¦óqÞù÷S ŒÁ| áØ!ü1Ì“«×0ÁõüÜT®nåƒAý<ø<{†Û¼^aôhǘM •ñZ˜(
! vád´Ù¼^—±5Zë#à/ îžŸXÐD{™Á_,€ù&2• øÃÝÀgáðuÀv,^ŒzÿØNðþñrìGböû'a€ìƒ‹!çšK“s-d¼o¯ÂF$)»Ç"ШBÇâ"¬—<ºETz 9§ÿVóýE9Õ¶-§{üÞœOEfÓi¡seD3µ[õòrùÝes½w<çqj[twËWëg ž;)^âG”~¾Àc[ð TnS%
˜"Ï•¶"l$b™JüœJ°¸7ש´Bÿc`:½‡eš‰z嬯)_‰Yúý\‚Þù¾Ï2/ì,S¶±‘Ëätï‘*Oä¦9šéœ}EÂ/ŸO  p±ý°¤<Ö¦råŠ~Ö©–SÌi¦àT¢®§  ª*º
lÓ,­0^”â g˜¨ÙJ aÀªR/’èö?`~¨ NÊ*q°1fôåoÈr8®ÁI/ùFÀ×ùÃ×sºeª O©bü,ᣲk˜¥ V§–®è)oœ«ò†BnìVyô)ñÌ-Ò¥µ.gJ®ºG9°Úº%)òLì¨å|SÓ¬XWþÂA•.
W»Ò@jý×kpu5Ê©ú’’‰Sëð–8m~ªF‘·]“q›èÝv„T‰æ©-ó]ÜÅV1[:úÛ@*ò'ÌD&bg_¹D·¢ 褚߀˜zšbÌc}Ǹ¤Sê:¥ÛP*UyïbŽñØŸhsà
ÞÒõ& [­•)嬴¹E[¬ÕV_¨7Ñ;ƒQ=ò¦¸WðÆ³‚´„N_ìª\e¥7{
ÝýÌ!V™kê]­€,6 ¡M='l\RÂÆàåËi/ö˜`³áÆw§l;•<Ûò½¡:ʃæ=7±‰;£:ºZ¬¸N2aSÃ-à—3d{È^Ý
ÝŸ׆ñ«˜0òÎaª² oBe•$µ…)ÇëÁ†FØ|× ßç-JB êÚïŠk³Ç¸ê-ë÷ý!DÃÈQ‚»—é fji·t•¾—xÛº«˜Eø¼QÐfÒÃpÔ‡àô¬wwá]¨= {Ï]˜ºþõ0ïü×ù½;>qendstream
endobj
239 0 obj
966
endobj
Q®¤¦¦ÒlC
؆‚U(="¢)„q²á
>˜m:O>íÉ®žª  ’m‹,‘?ÇæfÑÂE¦(qé¾§‚jŸïÇçå¾
[ɹ<8 ƒV¢?]É#œƒ=)lSnaË85gþ4JÜÄã”Óª«sÝÑš@‰@ùPȽ®è¥Ý„ZWüæxz¸éõ¡Ö›Ý…Àt¸vÀ½•LýzpréõáF„^k¸’9Ö:x\Á#ÕjÝà\‚´VËÕ—ó'w{nÙý^+iè?—š£p=Duú/æ—.¶ÚÙqiöy1Ͼo¬ñó¶\yEñGá¦Ðoú6{ ­4Ì^)©mýe»†~úA¬ƒŠ ax¡ Û ¶ev=îgWõb“f‡Iî·{äóëk⽸¾*!|- è:XD³#F˜¨×.JçÇd¾lÛõø)á¥ÂgÙv„ÿ† #WvÍ•Îò3×âñ}éºÃ»³ø›‡)›g˜8u©qìVåèóè'½G{®endstream
endobj
236 0 obj
539
endobj
237 0 obj<</Type/Page/Parent 197 0 R/Contents 238 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F6 6 0 R/F8 7 0 R/F9 8 0 R/Fc 9 0 R>>>>>>endobj
238 0 obj<</Length 239 0 R/Filter/FlateDecode>>stream
V]oë6 }ϯ 2 kس×Iô¡·í.ЮYí¾õE±•ă#y’Ü$ûõ#e;7‰=Ü›¢HE‘‡<<"ûÏÀ¿|n_’Áï_Sð}H–¢ièN!ɮރh×ÉßxÁk.\Ý…õAØß⸠áý
½';ßw£ä"]s=© ð½]0›l6ï×µo‹æãð î_ž}¯‹öÃ/¾âƒ²ä;sov¡ë7'¨¡¿ó½›‹Qžú |x:†œºQ„˜ãñ dàaõÞʼnbB—Lq‘î»àÇVØð,g`ö˜jY©”_„õV–\õJÇP2úmÛ_óInûbÚãÏÆ|®
“Ï+UJÍ»¡­Õ)kó§ÓfjÅïYÉÒÜôðnÍ6ö3Ǿg<s#
Ÿ¬9°ÔT¬Yš\
º*K© Ï[ Þ-U. W¿i˜Ï`™¼µœå8g+çÿžS0:¿÷M”•‰ i:™ÈNï±òLjJPLçÕ7E¸õù jë;ê’cnL.V6é•saùœFòN):
LH#«|Ø À6/
PýyMÖ 39[)Î5YóE¼QþÌ?Úgu–8Ø%’‰*öé_¡(á8K½`&¯çå:©-xN9PÅ/¾H³†8Ï0;¹´IÏYç]õ¯ÉåÖl¥CŸ2G¯Q"CêQ¯¹b5<(Êò„Ù.P-YU|GÙH«›¶Ì¦êF_8¨òå±àZUjÈû~
6¯N:M_rqn,Þ§ÍwÖ¨C8ò¶kn}Ø_A' e¢Xnêxw±—ÌžŽþБ’¼D 1/xj¥Àà• T+Š€^ªþ¡¨RG‘¾µUÈÑ6¨Æª
i/ÔL5Ú»˜£c<ÿg¸9qpÂO¸Œ&£™ã½„¶ÌÔt6ÜÜ¡,Ör+€-äÁ¨He—Ü+ø`EE§/vU¬ŠZ›£v?3Hea[‡|7ÕfÁ•nç䑌뒰1¸|
xÚ¥U[oÓ0~ϯ8š„T$â$K[¤½¬* Æ ^â4Ƕ³ŽϱÝõ"m]ש/U|ÎwuÚ¿?Æ ¤9”]pYï?N¤QEgù„دÕhÁŒiÅLÃàRµËƦõÛâ7.d@ˆÓi”Ûñ_r€’
òÅl6L»öáÔí±¯’[¶×”GýÐì g:å"³oTe\SYÁõajXþq†lÑ›­0üÎq+·ñ "7´
„¬ÿà‚J–YÖPéz¼d¨¹¹ÅŸ6àç´EAäguB÷mr}ò˜6½õ½©;ƒè&r'àáõîkùþmC,—fK+õMSÛž™À­kW²†èåLœü€ƒÉ¼Ó7KØÅ´XG@ûÏ®I Ýþ;õ˜ þüˆ@Rendstream
endobj
239 0 obj
973
‘Ô>˜Á÷à?î]ð0endstream
endobj
240 0 obj<</Type/Page/Parent 197 0 R/Contents 241 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 4 0 R/F8 7 0 R/F9 8 0 R>>>>>>endobj
241 0 obj<</Length 242 0 R/Filter/FlateDecode>>stream
514
xÚ¥U[o›0~çWUª”Iƒa`„LêÚ¥Ó¤­k:i.˜ÀflfL³ýûÛi.R›¦©òás¾«IþxG§P´Þyî½»˜‰ƒò
ÏÒŒ˜¯åhδnÄtÍà\5‹Z Ö÷oò_¸!nÜ'AjÆÊ
* B+Éíš¼gŠrwëu•=éT#4+Aº4 ýÓ‰/·ÆÏ:¦
&ô ÈN7R|pô!Lœ\ôà;éåÈ¡ï`ŠD!T
@@ -628,304 +646,304 @@ xref
252 0 obj<</Type/Page/Parent 197 0 R/Contents 253 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F4 4 0 R/F5 5 0 R/F8 7 0 R/F9 8 0 R>>>>/Annots 156 0 R>>endobj
253 0 obj<</Length 254 0 R/Filter/FlateDecode>>stream
xÚÍ›QsÜ6€ßý+ôØÎœ7")JâcãÔ¹v.­/v¦/ymÙÞvµòiw“Ëýú#HP"•dfj{Ó7Ÿ,AùÏ ËrýË*ž‰2»éN^_¼:WSÙÕ]ÆJ±âYYIýóêö‡«æzÓfý]vÖo÷ív¿ûñêÏ“Ÿ¯NòU®)ðƒÁ÷oa•¢Öj]&äªÀÁ&»„Ìä‡ûìչ̃G‚ž²»ڻ榅‡L9j±ZX‹­Žþ[´“(ÁP\êŸ]V±Ã
-ªßŽæ‘Úš¥þ®¾EÊ«eЧÙeªÖ1`p9ÃfwØìî–q¡Ëj¥?š‡Óˆ‹}‚ž¾~E™¯Ê†óH‹Œzñpô‡§Jn2¿Rúðƒ´„¦J+Í}KxfÂjÏHðƒÿ œn‰9Ú#hßaâóp~äõzì%pé)|Ë1éèÍGU':¹,¯´!°GP»¾ßõÛþî˷ͨ˜NŸ§´¶Ëˆ9¥2+¤9ea†_úëý·-ÀêÓ¯nbF\[£ËŠz©@ηÍ~ßî—ª¾¶JÌ Ú©þ “OÌ€4Ïíjðv³=´Ã‚Atí¡N:PbFÉ “w
–D3 ’—^Zo‡å|ä!±9ç÷ã°ù´hc‘ŸX:ÒmVY “ˆ«J‡‡Pf•µ‰´_ÛÃç~øS¯– yùdJÕTc@á*‹Â$"¨#íß“
WY”6!qºpuxS_|;‹”Xáê0zm¨C N#çÞ,f<u“if¿N#ë@-èž2|@ÅÜz8¨x™å# Îªõ¾'
Ñ–Ô IeäTÂn˜J­
–Jâ®âxÝm´Y=:lîa< ç帖´{ÂGž¾ÝØÊæØW×°‚Ï5' Ã-ÙbiÍ^Ìå1Oë
,3U_—ÙV2»êœß÷=ý9{D“̋ӈkΤ
QbV…dçY°¸.Tõ õ€ªˆct„å¶­q@:†›²ü²|sR#”¶竤BÅׇ¼]@s¶—ôpØô»¥B…ŸÄö3æ&Ìn©”îÍ€t
“«*m‰ñˆ¶ÑY…|œGÞûãö°yضT:œжÝ}tH<ï6K;^½¼obŽÉs[(™¬b¤cr†;¶ûvýgBC|]êLàqš%T%ž2,P¦ˆðQ8ϼª„üø<‚æ)Ø”<'€ÀËCs8R ¨Gм
ö´!w;ôD×Ð××´ú«·u)–óÕ;½oä£Ç¬^õ¼ïºfwóê_›ÝÂL™ÿý]Ó!*ªÒÖT1v@…¨¨*[[$†¨Ã›(
ð8¸xˆ:’Ÿ…ó•WõÄCt䙸 xNi!:òL…<@^JˆŽ´ú«·u)–óÕuˆò\/…!¬^õ?íõB²ÍŸ§+‹V³àèh…¢×Èhuç¬çÍnÝnép:\Ùø0®vZE CO–L(²PÍ&Œ Ujµœ´¡Éç/í÷K¿à=&O¤‹^“}!K{¼¨_Çþ=©¯ de«Þlÿ¾EJ¬¯à0z»ž‡œFŽN»›f¸!ÓKCGmÆ+äDK¨z™OÕü%µÀ„£«^覿p¸°ÈQ´Ò,»¥I†fÖ BÙåø]»k‡fK¿ÚÀÂyÄѧuÌ¿l\SÅΰû¡V%Ž­ ]8Ç¥²Ý¶ëH×ÊcÚÓÁ:|‚à)ë›§n;"³_× ì}{³!r·€•zÙ!Üënþ×þƒZÊ'€^}õ{‰wõåÂù31àœâtú!`žº†p‡%„¡€{Õþ8,ÞÊŸâl-¤y…GpjGdæx ð‰PprXd}¾@ ¢ž:¬=Ðña(€°ß†M»Ó§N& ·ª—iÕ2Nûƒ×î>´Áìˆò¯SûÜÜw:¼°yxGùbÒ…ÊŠÚ†ô¦?ÜSUÿ¤
~…=HÈB»ÍÝÜmbOO=Ús,-¬€õ·©=_ð\Í}¡‡Œ[_²
È X/6‹íͧ¿W
Í
/–™¥ÅŽÈЬð¢Yòz6>Á¼mð'€Hjùñ”!<¡ÒQ(€¨ß›Ý•y<DP€CÄ‘aåiîþ²PYÍÝbßî¹k¡ht–xÕíˆŒŽ¢ÆÞUÚB2òM¢øN Ni7yêàNX/B
ìͰ¹»?ìÚý~éÖÛ Õ¤LDü¡ðVŸ5ŽR‘ê“+wg0ÑŽoíåó@‘R{zê¶TÎ`(€°wM×5t©q</¾Â¡âÎûa€Ü´X&<ß&ŽE.Çq‰·+0®ä‘®
—îÎbûÑñh]VÃB€ÆiDÑ»3ùòûÝG$Ü] 4ËëXµ%òÇ|"ŽnCا£€Å¥| Uäó_,ê×cwMö7<}[GW3š°4r-ót¡)
XÒù}34k¸/FÔJCe>:ÈÕJVÀ/¨×ô•5JÕó_N 8ÐÏ»õýBÃîb=ADG£’)lf™ a*Vh±bU=&.ßFŽÏwL‰L³ÀPa‰±éx6|
 •–§
ë@>š5ŒNÇ‚Ó$*4=ô  ÷à´À£CÓS†A9ÿ͜ˆð|â˸Ñ0͹_ñå<VñåâqŸãÛ0òùN@¤W|fc(€¡ÂÃÔñl<@^B˜"3“ß
¸KÈýöØ-.Àõ3]ƒŒìž§ÒÓŽ¨À`uþ¨ÒsäÇ|pÀ„Àa®ù…0+à`°#hž>4øüÕQÀÑÞ7ÃÝfÑ•êù¯O3ñj9]Zv#Ò«åx'Z»õKìÌeÄëbW…x8sñhäu¼—?¡c‘«åðWÍå/4+L¸üÜ‘ÑçÁ¬‡XˆÆy™pÆrZ5|4*eµÒÙ•*ÇZiÝl#¹f"Ú–TòQÀ#¹fR‡m.„0+à`ÆÝ ŸÞgE="ð*µ.ŸŽH¼YýÃÍÇ}¬M81!UÀ]ïà N å&¹¯>.AC„ýóH¶ 'u{}¥šÁPa¿»Òyìã÷ô–j"ÖÐÿ ‰(P&Ôž6”ð«Y(€¬fGÕ“6°ÅÜlNYT(?õåéh¬rwAÝ„
±J…ã¥ðôXuO°±ÄƒKëV@&ÑN궺˜ÃPÀ]ÑoÇÁQÆ=¦Ýv„L@æG(?ûŠYÒ™÷ éIŬ¯Ý™®”š±P@ºƒZª0iÃ%Ã|ôýذȢb¶üûw]ÌüK¡×o+¼`ñŠåp§j¼qþáâ2»ìoŸ›¡Í>ì¡ò¾Ù›-è ¦²W%7¿ÓMðï³ÿó_º´endstream
endobj
254 0 obj
2708
endobj
255 0 obj<</Type/Page/Parent 197 0 R/Contents 256 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
256 0 obj<</Length 257 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS04³Ô3U072PIÑp
VÎO+)O,JU-N-*VðMÌ+MÌÑ ÉâÒ…¨Õ…*ÎÌ º†prÇvMendstream
endobj
257 0 obj
94
endobj
258 0 obj<</Count 5/First 259 0 R/Last 279 0 R>>endobj
259 0 obj<</Parent 258 0 R/Title(Table of Contents)/Dest[252 0 R/XYZ null 756 null]/Next 260 0 R>>endobj
260 0 obj<</Parent 258 0 R/Count -2/First 261 0 R/Last 262 0 R/Title(Preface)/Dest[204 0 R/XYZ null 743 null]/Prev 259 0 R/Next 263 0 R>>endobj
261 0 obj<</Parent 260 0 R/Title(System Overview)/Dest[204 0 R/XYZ null 371 null]/Next 262 0 R>>endobj
262 0 obj<</Parent 260 0 R/Title(Document Overview)/Dest[207 0 R/XYZ null 736 null]/Prev 261 0 R>>endobj
263 0 obj<</Parent 258 0 R/Count -7/First 264 0 R/Last 270 0 R/Title(1 - Printing System Overview)/Dest[210 0 R/XYZ null 743 null]/Prev 260 0 R/Next 271 0 R>>endobj
264 0 obj<</Parent 263 0 R/Title(The Printing Problem)/Dest[210 0 R/XYZ null 371 null]/Next 265 0 R>>endobj
265 0 obj<</Parent 263 0 R/Title(The Technology)/Dest[213 0 R/XYZ null 736 null]/Prev 264 0 R/Next 266 0 R>>endobj
266 0 obj<</Parent 263 0 R/Title(Jobs)/Dest[213 0 R/XYZ null 478 null]/Prev 265 0 R/Next 267 0 R>>endobj
267 0 obj<</Parent 263 0 R/Title(Classes)/Dest[213 0 R/XYZ null 372 null]/Prev 266 0 R/Next 268 0 R>>endobj
268 0 obj<</Parent 263 0 R/Title(Filters)/Dest[213 0 R/XYZ null 280 null]/Prev 267 0 R/Next 269 0 R>>endobj
269 0 obj<</Parent 263 0 R/Title(Printer Drivers)/Dest[216 0 R/XYZ null 736 null]/Prev 268 0 R/Next 270 0 R>>endobj
270 0 obj<</Parent 263 0 R/Title(Networking)/Dest[216 0 R/XYZ null 636 null]/Prev 269 0 R>>endobj
271 0 obj<</Parent 258 0 R/Count -7/First 272 0 R/Last 278 0 R/Title(2 - Using the Printing System)/Dest[222 0 R/XYZ null 743 null]/Prev 263 0 R/Next 279 0 R>>endobj
272 0 obj<</Parent 271 0 R/Title(Submitting Files for Printing)/Dest[222 0 R/XYZ null 371 null]/Next 273 0 R>>endobj
273 0 obj<</Parent 271 0 R/Title(Choosing a Printer)/Dest[225 0 R/XYZ null 736 null]/Prev 272 0 R/Next 274 0 R>>endobj
274 0 obj<</Parent 271 0 R/Title(Setting Printer Options)/Dest[225 0 R/XYZ null 445 null]/Prev 273 0 R/Next 275 0 R>>endobj
275 0 obj<</Parent 271 0 R/Title(Printing Multiple Copies)/Dest[225 0 R/XYZ null 236 null]/Prev 274 0 R/Next 276 0 R>>endobj
276 0 obj<</Parent 271 0 R/Title(Checking the Printer Status from the Command-Line)/Dest[228 0 R/XYZ null 714 null]/Prev 275 0 R/Next 277 0 R>>endobj
277 0 obj<</Parent 271 0 R/Title(Checking the Printer Status from the Web)/Dest[228 0 R/XYZ null 382 null]/Prev 276 0 R/Next 278 0 R>>endobj
278 0 obj<</Parent 271 0 R/Title(Canceling a Print Job)/Dest[228 0 R/XYZ null 276 null]/Prev 277 0 R>>endobj
279 0 obj<</Parent 258 0 R/Count -3/First 280 0 R/Last 293 0 R/Title(3 - Standard Printer Options)/Dest[234 0 R/XYZ null 743 null]/Prev 271 0 R>>endobj
280 0 obj<</Parent 279 0 R/Count -6/First 281 0 R/Last 286 0 R/Title(General Options)/Dest[234 0 R/XYZ null 371 null]/Next 287 0 R>>endobj
281 0 obj<</Parent 280 0 R/Title(Selecting the Media Size, Type, and Source)/Dest[234 0 R/XYZ null 286 null]/Next 282 0 R>>endobj
282 0 obj<</Parent 280 0 R/Title(Setting the Orientation)/Dest[237 0 R/XYZ null 571 null]/Prev 281 0 R/Next 283 0 R>>endobj
283 0 obj<</Parent 280 0 R/Title(Printing On Both Sides of the Paper)/Dest[237 0 R/XYZ null 474 null]/Prev 282 0 R/Next 284 0 R>>endobj
284 0 obj<</Parent 280 0 R/Title(Selecting a Range of Pages)/Dest[237 0 R/XYZ null 340 null]/Prev 283 0 R/Next 285 0 R>>endobj
285 0 obj<</Parent 280 0 R/Title(Setting the Brightness)/Dest[240 0 R/XYZ null 729 null]/Prev 284 0 R/Next 286 0 R>>endobj
286 0 obj<</Parent 280 0 R/Title(Setting the Gamma Correction)/Dest[240 0 R/XYZ null 609 null]/Prev 285 0 R>>endobj
287 0 obj<</Parent 279 0 R/Count -5/First 288 0 R/Last 292 0 R/Title(Text Options)/Dest[240 0 R/XYZ null 479 null]/Prev 280 0 R/Next 293 0 R>>endobj
288 0 obj<</Parent 287 0 R/Title(Setting the Number of Characters Per Inch)/Dest[240 0 R/XYZ null 394 null]/Next 289 0 R>>endobj
289 0 obj<</Parent 287 0 R/Title(Setting the Number of Lines Per Inch)/Dest[240 0 R/XYZ null 297 null]/Prev 288 0 R/Next 290 0 R>>endobj
290 0 obj<</Parent 287 0 R/Title(Setting the Number of Columns)/Dest[240 0 R/XYZ null 201 null]/Prev 289 0 R/Next 291 0 R>>endobj
291 0 obj<</Parent 287 0 R/Title(Setting the Page Margins)/Dest[243 0 R/XYZ null 729 null]/Prev 290 0 R/Next 292 0 R>>endobj
292 0 obj<</Parent 287 0 R/Title(Pretty Printing)/Dest[243 0 R/XYZ null 563 null]/Prev 291 0 R>>endobj
293 0 obj<</Parent 279 0 R/Count -3/First 294 0 R/Last 296 0 R/Title(Image Options)/Dest[243 0 R/XYZ null 459 null]/Prev 287 0 R>>endobj
294 0 obj<</Parent 293 0 R/Title(Scaling the Image)/Dest[243 0 R/XYZ null 374 null]/Next 295 0 R>>endobj
295 0 obj<</Parent 293 0 R/Title(Adjusting the Hue \(Tint\) of an Image)/Dest[243 0 R/XYZ null 148 null]/Prev 294 0 R/Next 296 0 R>>endobj
296 0 obj<</Parent 293 0 R/Title(Adjusting the Saturation \(Color\) of an Image)/Dest[246 0 R/XYZ null 473 null]/Prev 295 0 R>>endobj
297 0 obj<</Type/Catalog/Pages 197 0 R/Names 157 0 R/ViewerPreferences<</PageLayout/TwoColumnRight>>/Outlines 258 0 R/PageMode/UseOutlines/OpenAction[204 0 R/XYZ null null null]>>endobj
xref
0 298
0000000000 65535 f
0000000015 00000 n
0000000210 00000 n
0000000271 00000 n
0000000345 00000 n
0000000423 00000 n
0000000500 00000 n
0000000579 00000 n
0000000655 00000 n
0000000736 00000 n
0000000794 00000 n
0000000899 00000 n
0000001004 00000 n
0000001035 00000 n
0000001086 00000 n
0000001171 00000 n
0000001195 00000 n
0000001299 00000 n
0000001404 00000 n
0000001509 00000 n
0000001614 00000 n
0000001719 00000 n
0000001822 00000 n
0000001925 00000 n
0000002029 00000 n
0000002134 00000 n
0000002239 00000 n
0000002344 00000 n
0000002449 00000 n
0000002554 00000 n
0000002659 00000 n
0000002764 00000 n
0000002869 00000 n
0000002974 00000 n
0000003079 00000 n
0000003184 00000 n
0000003289 00000 n
0000003394 00000 n
0000003497 00000 n
0000003600 00000 n
0000003704 00000 n
0000003809 00000 n
0000003914 00000 n
0000004019 00000 n
0000004124 00000 n
0000004229 00000 n
0000004334 00000 n
0000004439 00000 n
0000004544 00000 n
0000004649 00000 n
0000004754 00000 n
0000004859 00000 n
0000004964 00000 n
0000005069 00000 n
0000005174 00000 n
0000005279 00000 n
0000005384 00000 n
0000005489 00000 n
0000005594 00000 n
0000005699 00000 n
0000005804 00000 n
0000005909 00000 n
0000006014 00000 n
0000006119 00000 n
0000006224 00000 n
0000006329 00000 n
0000006434 00000 n
0000006539 00000 n
0000006644 00000 n
0000006749 00000 n
0000006854 00000 n
0000006959 00000 n
0000007064 00000 n
0000007169 00000 n
0000007274 00000 n
0000007377 00000 n
0000007480 00000 n
0000007584 00000 n
0000007689 00000 n
0000007794 00000 n
0000007899 00000 n
0000008004 00000 n
0000008109 00000 n
0000008214 00000 n
0000008319 00000 n
0000008424 00000 n
0000008529 00000 n
0000008634 00000 n
0000008739 00000 n
0000008844 00000 n
0000008949 00000 n
0000009054 00000 n
0000009159 00000 n
0000009264 00000 n
0000009369 00000 n
0000009474 00000 n
0000009579 00000 n
0000009684 00000 n
0000009789 00000 n
0000009894 00000 n
0000009999 00000 n
0000010105 00000 n
0000010211 00000 n
0000010317 00000 n
0000010423 00000 n
0000010529 00000 n
0000010635 00000 n
0000010741 00000 n
0000010847 00000 n
0000010953 00000 n
0000011059 00000 n
0000011165 00000 n
0000011271 00000 n
0000011377 00000 n
0000011483 00000 n
0000011589 00000 n
0000011695 00000 n
0000011801 00000 n
0000011907 00000 n
0000012013 00000 n
0000012119 00000 n
0000012225 00000 n
0000012331 00000 n
0000012437 00000 n
0000012543 00000 n
¥ÝUò pùe·o»lñ!·ÓÊÅJ†OÁyÃúýS;|Z·Ÿ¿mô‚­Ô=fWÆVµ~åºX•8X´+X“q-¡ßíMsètx/[Ô#j‹òJ[%àã<ò"6å:Ú¦œüœe
ß±¶¦þuíß“¾fY—ZT¿#Ì9"µ5+ý]|;‹”ÓeЧÙeRé˜08œ‹a½Ý¯·÷Ë8ÐeJê&Àá4âbŸ §¯_±ÈWUHÃy¤EF¾x¸úÓ7™_JýaØAZB“•À•æ¡%<3aµg
ðƒÿ œn‰9Ú#hßaâóp~äõzì%pé1|Ë1éèÍGe™':¹,¯µ!°GP{ó°í7ýý—oQ2>im/"æ,¤Y ô;–8 ÍY”vaøµ¿Þ}ÛLu3ŠàÚ]Vªq@E9Û4»]»[ªúŽØ*1ƒh§Bú/M>1Ò <·«Áùz³o‡ƒèÚCu ÄŒ’—&ï–5,‰f@%¯¼´ÞËùÈB>bs<Î#îͰþ´hcY:Ò$mÖB “ˆëZ‡‡Pf-”‰´ßÚýç~øK¯– yùhJÕTc@áZ”¥IDPGÚ¿'®EYÙ„ÄéÂÕáM}ðí,Rb…«ÃèµA…œF·YÌxê&ÓÌ~%œFÖžZÐ=eø€Ê¹õpQñ2ËG@¥ô¾'
Ñ–Ô QUäÂn˜*­
.d»ŠÃu·ÞÓfõè°¹‡Mhð,œ/Ƶ¤Ý>òôíÆ¶iNqw=}u
+ùüWsE¸%[,­Ù‹¹<æi½¡ƒe¦Îáë2Ì®:g}OÎÑ$ó2Äã4â‚3©B”˜U!Ùy ‡:¢PqŒŽ°ÜÖ 
¤c¸)Ë/ÛÈ7çá 5BiÀq¾N*T|}È‹PÐ4'`{Iûu¿]*TøQl?cNaÂì–ªÒ½NaŪN[b<¢mtÖ!ç‘÷î°Ù¯7-•'´m`wÏúÇõÒÎ…×/còÜJ&«˜阜áŽí¡½ù+!!^U:“xœf U‰§ ”)"|Î3¯*!?> y6eÏ ðrßìÔê4¯†=mÈCäÝ
=Ñ5ôõ5M}õ¶N År¾z§÷|ô¸ƒ©àUÏú®k¶·§ÿZoŽ`ªüïhE‡¨¨+[SAÄØ¢¢®mm‘¢o¢(Àã4ââ!êH6~Î×^ÕÑ‘gâ'à9¦…èÈ3òPy)!:ÒÔWoëR,ç«ëå¹^
C˜
öz!ÙæÏÓ‰E«Ypt´BÑkd´ºsÖ³f{Ónèp:\Ùø0®vZF CO–L(²bÆ„*µZNÚPÈäó—vˆûµ_ð+ޤ‹®È¾‚(*{¼¨_Çþ=©¯ ŠÚV ‚î+8¼Ùþ|;‹”X_Áaôv=186¶·ÍpK6¦—†ŽÚŒW-¡êe>MÔó—ÔŽ®z¡›þÂáÂ"GÑBfÙ­L24ƒ´^€Ò.ÇoÛm;4¢øÐî&xÎ#޶¨8®cþeãš*Fp†Ý¹ªp´h]¸èÂ9.•í¦½‰t­<¦=œOYß<uÛ™ýºNaïÚÛ5‘»}¬äÐËq(à^wý¿öÔR>ôê«ßKÌp(€¸«/Îhœ‰©ç§ÓóÔ5¬„;,! Ü«ö‡añæPþgkÑ Ík<Š€ƒP;"ƒ4Ç[PÑn„O„‚“Ã"ëóéõÔaíŽC„ý>¬Û­®8u2Y¸­P¿L«–qÚ\¹ûPг#Ê\¥ö¹= ¸îtx'`óð–òŤ •?µ!  éu¿ ªþIü
{v›»¾%ÛÄž:$5Ús,-¬€õwQž/x.ç¾ÐŽCÆ­¯
Ù¾ñ䬛ÇÅöæÓß+Œ†fËÌÒbGdhÖxÑ,y=Ÿ`Þ6x@$µüxÊžPé‡(@Ôûf{Oec àPqdXyÚ°+…ÿ‡,@ÖEs¿Ø·{îZ(e%du;"££TØ»J[HF¾Iôß ¨”v“§î„õ"„¡Â^ëû‡ý¶Ýí–n½½PMÊDÄoõYãH©>¹twýáøÖ^>ß ”)µ§§nÛHÕ {Ût]Cw‘ªÇóò+
î¬ÈM‹eÂómâXär/ðöb
Æ-x¤kà wg±ý/Ññh]¦à !@ã4¢èÝYñòûÝïþH¸»h"–«Xµ%òïùD݆°OG‹Kù@ªÌç¿(
XÔo‡îšìoxú¶Ž®g4+`iäZæéBSC°¤³‡fhnà¾Q+y M,òÑA®V²–xA½¦¯¬QRÍ9-à@¿lo~pë ":•Lb3Ë “±B‹•«ú{âÒñmäø|'€À”Èt08 ›ŽgÃ'à¡@™PiyÚ°ä£YÃèt,8M¢BÓ@zÿN L0:4=eØTóßÌ ŒÏ'¾Œ
Óœû_Îc_.¾¯âs|F>ß ˆôŠÏÁl 0@Xb˜£€‡ÈKSdqfò[ÀBw ¹ßºÅX=Ó5ÈX`Àîy*=íˆ
¦òï*=G¾q\ÀGLŒVÀ5¿f vcÍӇ柿:
8Ú»f¸_/ºR>ÿõiVD¼ZM—–݈ôj5Þ‰Öný;sñºØ•!Î\<yïåOèXäj9üãUsùË„C»ÍJ.¿tdôy0ë!¢q¾H8c9®>•…ÂZ é숌J™c­tÓl"¹f"Ú–”
ù(à€‘\3©Ã6Žp0ãî…ÎÏ ï³¢x•Z—Ï G¤GÞ¬þéöÏÃ.Ö&œ˜*à®wð'r“ÜWŸ@— „¡Âþy Û„“º½¾RÏ`(€°?\é<öñGú
K=ô?C"
T u†§
å0ìêC
«ÙRµð¤
l97@ÊO}y:«Ü]P7aÃE¬Ráx)<=VÝl,ñàÒº(’Žh'u[]Ìa(à®è7ûÃ`Ž¿¨ãÓn;B&
ó#”Ÿý@ŬéÌŽ{†tˆ¤bÖ×îLWJÎX(P¸ƒZª0iÃ%Ã|ôýذȢb¶úûw]ÌüK¡Wç5^°8e&ÉK…·"Þ¼ÿéü*;ÍÎ>\\f—ýÝþs3´Ù‡´SÞ5ÛC³}! ÍqZqóÛ­Ñÿ>ù?7±½endstream
endobj
254 0 obj
2716
endobj
255 0 obj<</Type/Page/Parent 197 0 R/Contents 256 0 R/Resources<</ProcSet[/PDF/Text]/Font<</F8 7 0 R>>>>>>endobj
256 0 obj<</Length 257 0 R/Filter/FlateDecode>>stream
xÚ+ä2T0BCc3JÎår
áÒw³P04TIS041ѳT072PIÑp rt QÐUp
VÎO+)O,JU-N-*VðMÌ+MÌÑ ÉâÒ…èÑ…jÊÌ º†pr¿%endstream
endobj
257 0 obj
102
endobj
258 0 obj<</Count 5/First 259 0 R/Last 279 0 R>>endobj
259 0 obj<</Parent 258 0 R/Title(Table of Contents)/Dest[252 0 R/XYZ null 756 null]/Next 260 0 R>>endobj
260 0 obj<</Parent 258 0 R/Count -2/First 261 0 R/Last 262 0 R/Title(Preface)/Dest[204 0 R/XYZ null 743 null]/Prev 259 0 R/Next 263 0 R>>endobj
261 0 obj<</Parent 260 0 R/Title(System Overview)/Dest[204 0 R/XYZ null 371 null]/Next 262 0 R>>endobj
262 0 obj<</Parent 260 0 R/Title(Document Overview)/Dest[207 0 R/XYZ null 736 null]/Prev 261 0 R>>endobj
263 0 obj<</Parent 258 0 R/Count -7/First 264 0 R/Last 270 0 R/Title(1 - Printing System Overview)/Dest[210 0 R/XYZ null 743 null]/Prev 260 0 R/Next 271 0 R>>endobj
264 0 obj<</Parent 263 0 R/Title(The Printing Problem)/Dest[210 0 R/XYZ null 371 null]/Next 265 0 R>>endobj
265 0 obj<</Parent 263 0 R/Title(The Technology)/Dest[213 0 R/XYZ null 736 null]/Prev 264 0 R/Next 266 0 R>>endobj
266 0 obj<</Parent 263 0 R/Title(Jobs)/Dest[213 0 R/XYZ null 478 null]/Prev 265 0 R/Next 267 0 R>>endobj
267 0 obj<</Parent 263 0 R/Title(Classes)/Dest[213 0 R/XYZ null 372 null]/Prev 266 0 R/Next 268 0 R>>endobj
268 0 obj<</Parent 263 0 R/Title(Filters)/Dest[213 0 R/XYZ null 280 null]/Prev 267 0 R/Next 269 0 R>>endobj
269 0 obj<</Parent 263 0 R/Title(Printer Drivers)/Dest[216 0 R/XYZ null 736 null]/Prev 268 0 R/Next 270 0 R>>endobj
270 0 obj<</Parent 263 0 R/Title(Networking)/Dest[216 0 R/XYZ null 636 null]/Prev 269 0 R>>endobj
271 0 obj<</Parent 258 0 R/Count -7/First 272 0 R/Last 278 0 R/Title(2 - Using the Printing System)/Dest[222 0 R/XYZ null 743 null]/Prev 263 0 R/Next 279 0 R>>endobj
272 0 obj<</Parent 271 0 R/Title(Submitting Files for Printing)/Dest[222 0 R/XYZ null 371 null]/Next 273 0 R>>endobj
273 0 obj<</Parent 271 0 R/Title(Choosing a Printer)/Dest[225 0 R/XYZ null 736 null]/Prev 272 0 R/Next 274 0 R>>endobj
274 0 obj<</Parent 271 0 R/Title(Setting Printer Options)/Dest[225 0 R/XYZ null 445 null]/Prev 273 0 R/Next 275 0 R>>endobj
275 0 obj<</Parent 271 0 R/Title(Printing Multiple Copies)/Dest[225 0 R/XYZ null 236 null]/Prev 274 0 R/Next 276 0 R>>endobj
276 0 obj<</Parent 271 0 R/Title(Checking the Printer Status from the Command-Line)/Dest[228 0 R/XYZ null 714 null]/Prev 275 0 R/Next 277 0 R>>endobj
277 0 obj<</Parent 271 0 R/Title(Checking the Printer Status from the Web)/Dest[228 0 R/XYZ null 382 null]/Prev 276 0 R/Next 278 0 R>>endobj
278 0 obj<</Parent 271 0 R/Title(Canceling a Print Job)/Dest[228 0 R/XYZ null 276 null]/Prev 277 0 R>>endobj
279 0 obj<</Parent 258 0 R/Count -3/First 280 0 R/Last 293 0 R/Title(3 - Standard Printer Options)/Dest[234 0 R/XYZ null 743 null]/Prev 271 0 R>>endobj
280 0 obj<</Parent 279 0 R/Count -6/First 281 0 R/Last 286 0 R/Title(General Options)/Dest[234 0 R/XYZ null 371 null]/Next 287 0 R>>endobj
281 0 obj<</Parent 280 0 R/Title(Selecting the Media Size, Type, and Source)/Dest[234 0 R/XYZ null 286 null]/Next 282 0 R>>endobj
282 0 obj<</Parent 280 0 R/Title(Setting the Orientation)/Dest[237 0 R/XYZ null 571 null]/Prev 281 0 R/Next 283 0 R>>endobj
283 0 obj<</Parent 280 0 R/Title(Printing On Both Sides of the Paper)/Dest[237 0 R/XYZ null 474 null]/Prev 282 0 R/Next 284 0 R>>endobj
284 0 obj<</Parent 280 0 R/Title(Selecting a Range of Pages)/Dest[237 0 R/XYZ null 340 null]/Prev 283 0 R/Next 285 0 R>>endobj
285 0 obj<</Parent 280 0 R/Title(Setting the Brightness)/Dest[240 0 R/XYZ null 729 null]/Prev 284 0 R/Next 286 0 R>>endobj
286 0 obj<</Parent 280 0 R/Title(Setting the Gamma Correction)/Dest[240 0 R/XYZ null 609 null]/Prev 285 0 R>>endobj
287 0 obj<</Parent 279 0 R/Count -5/First 288 0 R/Last 292 0 R/Title(Text Options)/Dest[240 0 R/XYZ null 479 null]/Prev 280 0 R/Next 293 0 R>>endobj
288 0 obj<</Parent 287 0 R/Title(Setting the Number of Characters Per Inch)/Dest[240 0 R/XYZ null 394 null]/Next 289 0 R>>endobj
289 0 obj<</Parent 287 0 R/Title(Setting the Number of Lines Per Inch)/Dest[240 0 R/XYZ null 297 null]/Prev 288 0 R/Next 290 0 R>>endobj
290 0 obj<</Parent 287 0 R/Title(Setting the Number of Columns)/Dest[240 0 R/XYZ null 201 null]/Prev 289 0 R/Next 291 0 R>>endobj
291 0 obj<</Parent 287 0 R/Title(Setting the Page Margins)/Dest[243 0 R/XYZ null 729 null]/Prev 290 0 R/Next 292 0 R>>endobj
292 0 obj<</Parent 287 0 R/Title(Pretty Printing)/Dest[243 0 R/XYZ null 563 null]/Prev 291 0 R>>endobj
293 0 obj<</Parent 279 0 R/Count -3/First 294 0 R/Last 296 0 R/Title(Image Options)/Dest[243 0 R/XYZ null 459 null]/Prev 287 0 R>>endobj
294 0 obj<</Parent 293 0 R/Title(Scaling the Image)/Dest[243 0 R/XYZ null 374 null]/Next 295 0 R>>endobj
295 0 obj<</Parent 293 0 R/Title(Adjusting the Hue \(Tint\) of an Image)/Dest[243 0 R/XYZ null 148 null]/Prev 294 0 R/Next 296 0 R>>endobj
296 0 obj<</Parent 293 0 R/Title(Adjusting the Saturation \(Color\) of an Image)/Dest[246 0 R/XYZ null 473 null]/Prev 295 0 R>>endobj
297 0 obj<</Type/Catalog/Pages 197 0 R/Names 157 0 R/ViewerPreferences<</PageLayout/TwoColumnRight>>/Outlines 258 0 R/PageMode/UseOutlines/OpenAction[204 0 R/XYZ null null null]>>endobj
xref
0 298
0000000000 65535 f
0000000015 00000 n
0000000218 00000 n
0000000279 00000 n
0000000353 00000 n
0000000431 00000 n
0000000508 00000 n
0000000587 00000 n
0000000663 00000 n
0000000744 00000 n
0000000802 00000 n
0000000907 00000 n
0000001012 00000 n
0000001043 00000 n
0000001094 00000 n
0000001179 00000 n
0000001203 00000 n
0000001307 00000 n
0000001412 00000 n
0000001517 00000 n
0000001622 00000 n
0000001727 00000 n
0000001830 00000 n
0000001933 00000 n
0000002037 00000 n
0000002142 00000 n
0000002247 00000 n
0000002352 00000 n
0000002457 00000 n
0000002562 00000 n
0000002667 00000 n
0000002772 00000 n
0000002877 00000 n
0000002982 00000 n
0000003087 00000 n
0000003192 00000 n
0000003297 00000 n
0000003402 00000 n
0000003505 00000 n
0000003608 00000 n
0000003712 00000 n
0000003817 00000 n
0000003922 00000 n
0000004027 00000 n
0000004132 00000 n
0000004237 00000 n
0000004342 00000 n
0000004447 00000 n
0000004552 00000 n
0000004657 00000 n
0000004762 00000 n
0000004867 00000 n
0000004972 00000 n
0000005077 00000 n
0000005182 00000 n
0000005287 00000 n
0000005392 00000 n
0000005497 00000 n
0000005602 00000 n
0000005707 00000 n
0000005812 00000 n
0000005917 00000 n
0000006022 00000 n
0000006127 00000 n
0000006232 00000 n
0000006337 00000 n
0000006442 00000 n
0000006547 00000 n
0000006652 00000 n
0000006757 00000 n
0000006862 00000 n
0000006967 00000 n
0000007072 00000 n
0000007177 00000 n
0000007282 00000 n
0000007385 00000 n
0000007488 00000 n
0000007592 00000 n
0000007697 00000 n
0000007802 00000 n
0000007907 00000 n
0000008012 00000 n
0000008117 00000 n
0000008222 00000 n
0000008327 00000 n
0000008432 00000 n
0000008537 00000 n
0000008642 00000 n
0000008747 00000 n
0000008852 00000 n
0000008957 00000 n
0000009062 00000 n
0000009167 00000 n
0000009272 00000 n
0000009377 00000 n
0000009482 00000 n
0000009587 00000 n
0000009692 00000 n
0000009797 00000 n
0000009902 00000 n
0000010007 00000 n
0000010113 00000 n
0000010219 00000 n
0000010325 00000 n
0000010431 00000 n
0000010537 00000 n
0000010643 00000 n
0000010749 00000 n
0000010855 00000 n
0000010961 00000 n
0000011067 00000 n
0000011173 00000 n
0000011279 00000 n
0000011385 00000 n
0000011491 00000 n
0000011597 00000 n
0000011703 00000 n
0000011809 00000 n
0000011915 00000 n
0000012021 00000 n
0000012127 00000 n
0000012233 00000 n
0000012755 00000 n
0000012861 00000 n
0000012967 00000 n
0000013073 00000 n
0000013179 00000 n
0000013285 00000 n
0000013391 00000 n
0000013497 00000 n
0000013603 00000 n
0000013709 00000 n
0000013815 00000 n
0000013921 00000 n
0000014027 00000 n
0000014133 00000 n
0000014239 00000 n
0000014345 00000 n
0000014451 00000 n
0000014557 00000 n
0000014663 00000 n
0000014769 00000 n
0000014875 00000 n
0000014981 00000 n
0000015087 00000 n
0000015193 00000 n
0000015299 00000 n
0000015405 00000 n
0000015511 00000 n
0000015617 00000 n
0000015723 00000 n
0000015829 00000 n
0000015935 00000 n
0000016989 00000 n
0000017023 00000 n
0000017057 00000 n
0000017568 00000 n
0000017617 00000 n
0000017666 00000 n
0000017715 00000 n
0000017764 00000 n
0000017813 00000 n
0000017862 00000 n
0000017911 00000 n
0000017960 00000 n
0000018009 00000 n
0000018058 00000 n
0000018107 00000 n
0000018156 00000 n
0000018205 00000 n
0000018254 00000 n
0000018303 00000 n
0000018352 00000 n
0000018401 00000 n
0000018450 00000 n
0000018499 00000 n
0000018548 00000 n
0000018597 00000 n
0000018646 00000 n
0000018695 00000 n
0000018744 00000 n
0000018793 00000 n
0000018842 00000 n
0000018891 00000 n
0000018940 00000 n
0000018989 00000 n
0000019038 00000 n
0000012339 00000 n
0000012445 00000 n
0000012551 00000 n
0000012657 00000 n
0000012763 00000 n
0000012869 00000 n
0000012975 00000 n
0000013081 00000 n
0000013187 00000 n
0000013293 00000 n
0000013399 00000 n
0000013505 00000 n
0000013611 00000 n
0000013717 00000 n
0000013823 00000 n
0000013929 00000 n
0000014035 00000 n
0000014141 00000 n
0000014247 00000 n
0000014353 00000 n
0000014459 00000 n
0000014565 00000 n
0000014671 00000 n
0000014777 00000 n
0000014883 00000 n
0000014989 00000 n
0000015095 00000 n
0000015201 00000 n
0000015307 00000 n
0000015413 00000 n
0000015519 00000 n
0000015625 00000 n
0000015731 00000 n
0000015837 00000 n
0000015943 00000 n
0000016997 00000 n
0000017031 00000 n
0000017065 00000 n
0000017576 00000 n
0000017625 00000 n
0000017674 00000 n
0000017723 00000 n
0000017772 00000 n
0000017821 00000 n
0000017870 00000 n
0000017919 00000 n
0000017968 00000 n
0000018017 00000 n
0000018066 00000 n
0000018115 00000 n
0000018164 00000 n
0000018213 00000 n
0000018262 00000 n
0000018311 00000 n
0000018360 00000 n
0000018409 00000 n
0000018458 00000 n
0000018507 00000 n
0000018556 00000 n
0000018605 00000 n
0000018654 00000 n
0000018703 00000 n
0000018752 00000 n
0000018801 00000 n
0000018850 00000 n
0000018899 00000 n
0000019136 00000 n
0000019185 00000 n
0000019234 00000 n
0000019283 00000 n
0000019332 00000 n
0000019381 00000 n
0000019610 00000 n
0000019762 00000 n
0000026131 00000 n
0000026153 00000 n
0000026266 00000 n
0000026368 00000 n
0000026388 00000 n
0000026519 00000 n
0000027280 00000 n
0000027301 00000 n
0000018948 00000 n
0000018997 00000 n
0000019046 00000 n
0000019095 00000 n
0000019144 00000 n
0000019193 00000 n
0000019242 00000 n
0000019291 00000 n
0000019340 00000 n
0000019389 00000 n
0000019618 00000 n
0000019770 00000 n
0000026151 00000 n
0000026173 00000 n
0000026286 00000 n
0000026388 00000 n
0000026408 00000 n
0000027803 00000 n
0000027824 00000 n
0000027964 00000 n
0000028878 00000 n
0000028899 00000 n
0000029039 00000 n
0000030469 00000 n
0000030491 00000 n
0000030631 00000 n
0000031517 00000 n
0000026539 00000 n
0000027300 00000 n
0000027321 00000 n
0000027461 00000 n
0000027828 00000 n
0000027849 00000 n
0000027989 00000 n
0000028903 00000 n
0000028924 00000 n
0000029064 00000 n
0000030502 00000 n
0000030524 00000 n
0000030664 00000 n
0000031556 00000 n
0000031859 00000 n
0000031577 00000 n
0000031690 00000 n
+2 -2
Ver Arquivo
@@ -2,9 +2,9 @@
<HEAD>
<META NAME="Description" CONTENT="Common UNIX Printing System Software Users Manual">
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-1999, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-SUM-1.0.0">
<META NAME="DOCNUMBER" CONTENT="CUPS-SUM-1.0.0b1">
<META NAME="Author" CONTENT="Easy Software Products">
<TITLE>CUPS Software Users Manual</TITLE>
<TITLE>DRAFT - CUPS Software Users Manual</TITLE>
</HEAD>
<BODY>
+149
Ver Arquivo
@@ -0,0 +1,149 @@
<HTML>
<HEAD>
<TITLE>CUPS Software Version Description</TITLE>
<META NAME="AUTHOR" CONTENT="Easy Software Products">
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-1999, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-SVD-1.0.0">
</HEAD>
<BODY>
<CENTER><A HREF=#contents><IMG SRC="images/cups-large.gif" BORDER=0><BR>
<H1>CUPS Software Version Description</H1></A><BR>
CUPS-SVD-1.0.0<BR>
Easy Software Products<BR>
Copyright 1997-1999, All Rights Reserved<BR>
</CENTER>
<HR>
<H1 ALIGN=CENTER><A NAME=CONTENTS>Table of Contents</A></H1>
<BR>
<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>
</UL>
<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>
</UL>
<B><A HREF=#3>3 Additions</A></B>
<BR>
<BR><B><A HREF=#4>4 Changes</A></B>
<BR>
<BR><B><A HREF=#5>A Glossary</A></B>
<UL>
<LI><A HREF=#5_1>A.1 Terms</A></LI>
<LI><A HREF=#5_2>A.2 Acronyms</A></LI>
</UL>
<HR>
<H1><A NAME=1>1 Scope</A></H1>
<H2><A NAME=1_1>1.1 Identification</A></H2>
This software version description document provides release
information for the Common UNIX Printing System (&quot;CUPS&quot;) Version 1.0.
<H2><A NAME=1_2>1.2 System Overview</A></H2>
The Common UNIX Printing System provides a portable printing layer for
UNIX&reg; 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.
<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 4.03) and an image file RIP that
can be used to support non-PostScript printers. </P>
<H2><A NAME=1_3>1.3 Document Overview</A></H2>
<P>This Something Something Something document is organized into the
following sections:</P>
<UL>
<LI>1 - Scope</LI>
<LI>2 - References</LI>
<LI>3 - Additions</LI>
<LI>4 - Changes</LI>
<LI>A - Glossary</LI>
</UL>
<H1><A NAME=2>2 References</A></H1>
<H2><A NAME=2_1>2.1 CUPS Documentation</A></H2>
The following CUPS documentation is referenced by this document:
<UL>
<LI>CUPS-CMP-1.0: CUPS Configuration Management Plan </LI>
<LI>CUPS-IDD-1.0: CUPS System Interface Design Description </LI>
<LI>CUPS-SAM-1.0.x: CUPS Software Administrators Manual </LI>
<LI>CUPS-SDD-1.0: CUPS Software Design Description </LI>
<LI>CUPS-SPM-1.0: CUPS Software Programming Manual </LI>
<LI>CUPS-SSR-1.0: CUPS Software Security Report </LI>
<LI>CUPS-STP-1.0: CUPS Software Test Plan </LI>
<LI>CUPS-SUM-1.0.x: CUPS Software Users Manual </LI>
<LI>CUPS-SVD-1.0.x: CUPS Software Version Description </LI>
</UL>
<H2><A NAME=2_2>2.2 Other Documents</A></H2>
The following non-CUPS documents are referenced by this document:
<UL>
<LI>IEEE 1387.4, System Administration: Printing (draft) </LI>
<LI>IPP/1.0: Additional Optional Operations - Set 1 </LI>
<LI>IPP/1.0: Encoding and Transport </LI>
<LI>IPP/1.0: Implementers Guide </LI>
<LI>IPP/1.0: Model and Semantics </LI>
<LI>RFC 1179, Line Printer Daemon Protocol </LI>
</UL>
<H1><A NAME=3>3 Additions</A></H1>
Since this is the first release of CUPS, there are no additions to
report.
<H1><A NAME=4>4 Changes</A></H1>
Since this is the first release of CUPS, there are no changes to
report.
<H1 TYPE=A VALUE=1><A NAME=5>A Glossary</A></H1>
<H2><A NAME=5_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>
</DL>
<H2><A NAME=5_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>
</DL>
</BODY>
</HTML>
BIN
Ver Arquivo
Arquivo binário não exibido.
+167
Ver Arquivo
@@ -0,0 +1,167 @@
<HTML>
<HEAD>
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-1999, All Rights Reserved">
<META NAME="DOCNUMBER" CONTENT="CUPS-SVD-1.0.0">
<META NAME="Author" CONTENT="Easy Software Products">
<TITLE>CUPS Software Version Description</TITLE>
</HEAD>
<BODY>
<H1>Scope</H1>
<H2>Identification</H2>
This software version description document provides release information for the
Common UNIX Printing System ("CUPS") Version 1.0.
<H2>System Overview</H2>
The Common UNIX Printing System provides a portable printing layer for
UNIX&reg; 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.
<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>CUPS adds network printer browsing and PostScript Printer
Description (&quot;PPD&quot;)-based printing options to support real
world applications under UNIX.
<P>CUPS also includes a customized version of GNU GhostScript
(currently based off GNU GhostScript 4.03) and an image file RIP that
can be used to support non-PostScript printers.
<H2>Document Overview</H2>
<P>This Something Something Something document is organized into the following
sections:</P>
<UL>
<LI>1 - Scope</LI>
<LI>2 - References</LI>
<LI>3 - Additions</LI>
<LI>4 - Changes</LI>
<LI>A - Glossary</LI>
</UL>
<H1>References</H1>
<H2>CUPS Documentation</H2>
The following CUPS documentation is referenced by this document:
<UL>
<LI>CUPS-CMP-1.0: CUPS Configuration Management Plan
<LI>CUPS-IDD-1.0: CUPS System Interface Design Description
<LI>CUPS-SAM-1.0.x: CUPS Software Administrators Manual
<LI>CUPS-SDD-1.0: CUPS Software Design Description
<LI>CUPS-SPM-1.0: CUPS Software Programming Manual
<LI>CUPS-SSR-1.0: CUPS Software Security Report
<LI>CUPS-STP-1.0: CUPS Software Test Plan
<LI>CUPS-SUM-1.0.x: CUPS Software Users Manual
<LI>CUPS-SVD-1.0.x: CUPS Software Version Description
</UL>
<H2>Other Documents</H2>
The following non-CUPS documents are referenced by this document:
<UL>
<LI>IEEE 1387.4, System Administration: Printing (draft)
<LI>IPP/1.0: Additional Optional Operations - Set 1
<LI>IPP/1.0: Encoding and Transport
<LI>IPP/1.0: Implementers Guide
<LI>IPP/1.0: Model and Semantics
<LI>RFC 1179, Line Printer Daemon Protocol
</UL>
<H1>Additions</H1>
Since this is the first release of CUPS, there are no additions to report.
<H1>Changes</H1>
Since this is the first release of CUPS, there are no changes to report.
<H1 TYPE=A VALUE=1>Glossary</H1>
<H2>Terms</H2>
<DL>
<DT>C
<DD>A computer language.
<DT>parallel
<DD>Sending or receiving data more than 1 bit at a time.
<DT>pipe
<DD>A one-way communications channel between two programs.
<DT>serial
<DD>Sending or receiving data 1 bit at a time.
<DT>socket
<DD>A two-way network communications channel.
</DL>
<H2>Acronyms</H2>
<DL>
<DT>ASCII
<DD>American Standard Code for Information Interchange
<DT>CUPS
<DD>Common UNIX Printing System
<DT>ESC/P
<DD>EPSON Standard Code for Printers
<DT>FTP
<DD>File Transfer Protocol
<DT>HP-GL
<DD>Hewlett-Packard Graphics Language
<DT>HP-PCL
<DD>Hewlett-Packard Printer Control Language
<DT>HP-PJL
<DD>Hewlett-Packard Printer Job Language
<DT>IETF
<DD>Internet Engineering Task Force
<DT>IPP
<DD>Internet Printing Protocol
<DT>ISO
<DD>International Standards Organization
<DT>LPD
<DD>Line Printer Daemon
<DT>MIME
<DD>Multimedia Internet Mail Exchange
<DT>PCL
<DD>Page Control Language
<DT>PPD
<DD>PostScript Printer Description
<DT>SMB
<DD>Server Message Block
<DT>TFTP
<DD>Trivial File Transfer Protocol
</DL>
</BODY>
</HTML>
-3
Ver Arquivo
@@ -77,9 +77,6 @@ SetCommonOptions(int num_options, /* I - Number of options */
PageBottom = pagesize->bottom;
PageLeft = pagesize->left;
PageRight = pagesize->right;
fprintf(stderr, "DEBUG: Page = %.0fx%.0f; %.0f,%.0f to %.0f,%.0f\n",
PageWidth, PageLength, PageLeft, PageBottom, PageRight, PageTop);
}
if (ppd != NULL)
+2 -3
Ver Arquivo
@@ -321,7 +321,6 @@ ImageRGBToCMYK(const ib_t *in, /* I - Input pixels */
int count)/* I - Number of pixels */
{
int c, m, y, k, /* CMYK values */
km, /* Maximum K value */
diff, /* Color differences */
divk; /* Color divisor */
int cc, cm, cy; /* Calibrated CMY values */
@@ -335,8 +334,8 @@ ImageRGBToCMYK(const ib_t *in, /* I - Input pixels */
y = 255 - *in++;
k = min(c, min(m, y));
if ((km = max(c, max(m, y))) > k)
k = k * k / km;
diff = 255 - (max(c, max(m, y)) - k);
k = k * diff / 255;
if (k == 255)
c = m = y = 0;
+2 -2
Ver Arquivo
@@ -491,8 +491,8 @@ main(int argc, /* I - Number of command-line arguments */
xprint = xinches / xpages;
yprint = yinches / ypages;
if ((choice = ppdFindMarkedChoice(ppd, "PageSize")) != NULL &&
strcmp(choice->choice, "Custom") == 0)
if ((val = cupsGetOption("Page", num_options, options)) != NULL &&
strncmp(val, "Custom.", 7) == 0)
{
if (Orientation & 1)
{
+113 -114
Ver Arquivo
@@ -1,124 +1,123 @@
iso-8859-1
Okay
Abbrechen
Hilfe
Beenden
Schließen
Ja
Nein
An
Aus
Speichern
Verwerfen
Default
Optionen
Mehr Info
Schwarz
Farbe
Cyan
Magenta
Gelb
OK
Löschen
Hilfe
Beendet
Nah
Ja
Nein
Auf
Weg von
Außer
Ausschuß
Rückstellung
Optionen
Mehr INFO
Schwarzes
Farbe
Cyan-blau
Magenta
Gelb
Copyright 1993-1999 durch Easy Software Products, alle Rechte vorbehalten.
Allgemein
Drucker
Bild Optionen
HP-GL/2 Optionen
Speziell
Dokument
Andere
Druckbereich:
General
Drucker
BildOptionen
HP-GL/2 Optionen
Extrakosten
Dokument
Anderes
DruckSeiten:
Gesamtes Dokument
Seitenbereich:
Umgedrehte Reihenfolge:
Seitenformat:
normal
2 auf 1
4 auf 1
Bild-Skalierung:
Natürliche Bildgröße
Zoom in Prozent
Zoom in PPI
Gespiegelte Ausgabe:
Farbsättigung:
Farbton:
Auf Seite anpassen:
Schattiert:
Strichstärke:
Gamma-Korrektur:
RückOrdnung:
Seite Format:
1-Up
2-Up
4-Up
BildScaling:
Natürliche BildGröße Des Gebrauches
Zoom durch Percent
Zoom durch PPI
SpiegelBild:
Farbe Sättigung:
Farbe Farbe:
Passen Sie, um zu paginieren:
Schattierend:
FederBreite:
Gamma Korrektur:
Helligkeit:
Hinzufügen
Löschen
Ändern
Drucker-URI
Drucker-Name
Drucker-Standort
Drucker-Info
Drucker-Modell
Device-URI
Formatiere Seite
Drucke Seite
Initialisiere Drucker
Drucker-Zustand
Bereit
Nicht bereit
Druckaufträge
Klasse
Fügen Sie hinzu
Löschung
ändern Sie
DruckerURI
DruckerName
DruckerStandort
Drucker-cInfo
Drucker bilden und formen
EinheitURI
Formatierung Seite
Seite Druckend
InitialisierenDrucker
DruckerZustand
Jobs Annehmend
Jobs Nicht, Annehmend
Druckjobs
Kategorie
Lokal
Remote
Duplex
Hefter
Schnellkopien
Sortieren/Gruppieren
Locher
Deckblatt
Bindung
Sortieren
Klein (bis 14x35cm)
Medium (14x35cm bis 33x48cm)
Groß (33x48cm und größer)
Benutzerspezifische Größe
Entfernte Station
Duplexing
Heftend
Schnelle Plattenkopierprogramme
Gemischte Exemplare
Bohrung Lochen
Bedeckung
Binden
Sortierend
Klein (bis 9.5x1în)
Medium (9.5x1în bis 13x19in)
Groß (13x19in und größeres)
Kundenspezifische Größe
Leerlauf
In Arbeit
Verarbeitend
Gestoppt
Alles
Ungerade
Gerade Seiten
Dunkler Heller
Medien-Größe
Medium
Medien-Quelle
Ausrichtung:
Hochformat
Querformat
Job-Status
Job-Name
Benutzername
Priorität
Kopien
Dateigröße
In Warteposition
Ausgabe-Modus
Auflösung
400 Der Server versteht die Anfrage Ihres Browsers nicht.
Der Server konnte nicht Ihre Berechtigung überprüfen, diese Ressource zu benutzen.
Sie müssen bezahlen, um auf diesen Server zuzugreifen.
Sie sind nicht berechtigt, auf diese Ressource des Servers zuzugreifen.
Die gewünschte Ressource wurde auf diesem Server nicht gefunden.
Die gewünschte Methode ist mit dieser Ressource nicht erlaubt.
Eine passende Art der Ressource wurde auf diesem Server nicht gefunden.
Sie können diesen Server nicht als Proxy-Server verwenden.
Der Auftrag brauchte zu lang zur Beendigung und wurde abgebrochen.
Die gewünschte Ressource besitzt mehr als einen Wert.
Die gewünschte Ressource existiert nicht mehr und wurde nicht ersetzt.
Die gewünschte Methode benötigt eine gültige Länge des Inhalts.
Die Voraussetzungen für den Auftrag sind nicht erfüllt.
Der Auftrag ist zu groß, um auf diesem Server verarbeitet zu werden.
Die URI des Auftrags ist zu groß, um auf diesem Server verarbeitet zu werden.
Das Format des Auftrags wird von diesem Server nicht verstanden.
500 Der Server hat einen nicht behebbaren Fehler entdeckt und kann Ihren Auftrag nicht verarbeiten.
Die gewünschte Methode ist auf diesen Server nicht implementiert.
Der Proxy-Server empfing eine unzulässige Antwort von einem höheren Server.
Die gewünschte Ressource ist aktuell auf diesem Server nicht verfügbarr.
Der Proxy-Server braucht zu lang, um auf diesen Server zu reagieren.
Dieser Server unterstützt nicht die HTTP-Version, die Ihr Browser benötigt.
Gleichmäßige Seiten
Dunkleres Heller
MediaGröße
MediaArt
MediaQuelle
Lagebestimmung:
Portrait
Landschaft
Job State
Job Name
User Name
Priority
Copies
File Size
Pending
Output Mode
Resolution
400 Ihre Datenbanksuchroutine sendete einen Antrag, den dieser Server nicht verstehen könnte.
Dieser Server könnte nicht überprüfen, daß Sie autorisiert sind, das Hilfsmittel zuzugreifen.
Sie müssen zahlen, diesen Server zuzugreifen.
Sie haben nicht Erlaubnis, das Hilfsmittel auf diesem Server zuzugreifen.
Das erbetene Hilfsmittel wurde nicht auf diesem Server gefunden.
Die erbetene Methode wird nicht mit dem Hilfsmittel erlaubt.
Eine passende Darstellung für das Hilfsmittel wurde nicht auf diesem Server gefunden.
Sie haben nicht Erlaubnis, diesen Server als Proxyhauptrechner zu benutzen.
Der Antrag hat zu lang genommen, um durchzuführen und ist abgebrochen worden.
Das erbetene Hilfsmittel hat mehr als einen Wert.
Das erbetene Hilfsmittel wird gegangen und ist nicht ersetzt worden.
Die erbetene Methode benötigt ein gültiges Content-Length.
Die Vorbedingung auf dem Antrag wertete zu falschem aus.
Der Antrag ist zu groß, damit dieser Server verarbeitet.
Der AntragcUri ist zu groß, damit dieser Server verarbeitet.
Das Antragformat wird nicht durch diesen Server verstanden.
500 Der Server hat einen unrecoverable Fehler ermittelt und nicht Ihren Antrag verarbeiten kann.
Die erbetene Methode wird nicht durch diesen Server eingeführt.
Das proxy server empfing eine unzulässige Antwort von einem aufwärts gerichteten Server.
Das erbetene Hilfsmittel ist aktuell auf diesem Server nicht erreichbar.
Das proxy server hat zu lang genommen, um auf diesen Server zu reagieren.
Dieser Server unterstützt nicht die HTTP-Version, die durch Ihre Datenbanksuchroutine angefordert wird.
+62 -62
Ver Arquivo
@@ -3,16 +3,16 @@ OK
Annulation
Aide
Quitté
Fermer
Étroit
Oui
Non
Oui
Non
Sauver
Quitté
Sur
Outre de
Économiser
Écart
Défaut
Options
Plus d'information
Plus D'Information
Noir
Couleur
Cyan
@@ -21,86 +21,86 @@ Jaune
Copyright 1993-1999 par Easy Software Products, tous droits réservés.
Général
Imprimante
Options d'Image
Options d'HP-GL/2
Options supplémentaires
Options D'Image
Options D'HP-GL/2
Frais supplémentaires
Document
Autre
Pages d'impression:
Entier document
Chaîne de page
Commande d'Inversion:
Pages par feuilles:
1
2
4
Graduation d'image:
Emploi taille normale d'image
Zoom par pourcent
Pages D'Impression:
Entier Document
Chaîne De Page
Commande D'Inversion:
Format De Page:
1-Up
2-Up
4-Up
Graduation D'Image:
Taille Normale D'Image D'Utilisation
Zoom par Percent
Zoom par PPI
Image de miroir:
Saturation de couleur:
Teinture de couleur:
Correspondre au page:
Image De Miroir:
Saturation De Couleur:
Tonalité De Couleur:
Adaptez pour paginer:
Ombrageant:
Largeur de crayon lecteur:
Correction de Gamma:
Largeur De Crayon lecteur:
Gamma Correction:
Éclat:
Ajoutez
Éffacer
Effacement
Modifiez
URI de l'imprimante
Nom de l'imprimante
Emplacement de l'imprimante
Information de l'imprimante
Font et modèlent de l'imprimante
Dispositif de l'URI
Formatage du page
Imprimant la page
Initialisation de l'imprimante
État de l'Imprimante
Recevant les travaux
URI D'Imprimante
Nom D'Imprimante
Emplacement D'Imprimante
Information D'Imprimante
L'imprimante font et modèlent
URI De Dispositif
Page De Formatage
Imprimant La Page
D' Initialisation Imprimante
État D'Imprimante
Recevant Les Travaux
Ne recevant pas Les Travaux
Tirages
Classe
Local
Distant
Périphérique
Duplexage
Agrafant
Copie Rapides
Copies Assemblées
Poinçon de trou
Rapides Copies
Assemblées Copies
Poinçon De Trou
Bâche
Liant
Triant
Petit (jusqu'à 9.5x1pouce)
Moyen (9.5x1pouce à 13x19pouce)
Grand (13x19pouce et plus grand)
Taille faite sur commande
Arrêter
Petit (jusqu'à 9.5x1în)
Support (9.5x1în à 13x19in)
Grand (13x19in et plus grand)
Faite sur commande Taille
Ralenti
Traitant
Arrêté
Tout
Impair
Même Pages
Plus foncé Plus Lumineux
Dimension du medias
Sorte de medias
Source du medias
Taille De Medias
Type De Supports
Source De Medias
Orientation:
Verticale
Horizontal
État du travail
Nom du travail
Nom de l'utilisateur
Priorité
Job State
Job Name
User Name
Priority
Copies
Grandeur du fichier
Imminent
Method de sortie
File Size
Pending
Output Mode
Resolution
400 Votre browser a envoyé une demande que ce serveur ne pouvait pas comprendre.
Ce serveur ne pouvait pas vérifier que vous êtes autoriséz à accéder à la ressource.
400 Votre browser a envoyé une demande que ce serveur ne pourrait pas comprendre.
Ce serveur ne pourrait pas vérifier que vous êtes autorisés à accéder à la ressource.
Vous devez payer pour accéder à ce serveur.
Vous n'avez pas la permission d'accéder à la ressource sur ce serveur.
La ressource demandée n'a pas été trouvée sur ce serveur.
@@ -112,12 +112,12 @@ La ressource demand
La ressource demandée est allée et n'a pas été substituée.
La méthode demandée exige un Content-Length valide.
La condition préalable sur la demande a évalué à faux.
La demande est trop grande pour ce serveur.
L'Uri de demande est trop grand pour ce serveur.
La demande est trop grande pour que ce serveur traite.
L'cUri de demande est trop grand pour que ce serveur traite.
Le format de demande n'est pas compris par ce serveur.
500 Le serveur a détecté une erreur irrémédiable et ne peut pas traiter votre demande.
La méthode demandée n'est pas appliquée par ce serveur.
Le proxy server a reçu une réponse incorrecte d'un serveur ascendant.
La ressource demandée est actuellement indisponible sur ce serveur.
La ressource demandée est actuel indisponible sur ce serveur.
Le proxy server a pris trop longtemps pour répondre à ce serveur.
Ce serveur ne supporte pas la version de HTTP exigée par votre browser.
+7 -7
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: accept.8 680 1999-09-22 20:06:43Z mike $"
.\" "$Id: accept.8 380 1999-06-10 16:15:04Z mike $"
.\"
.\" accept/reject man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,7 +21,7 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH accept 8 "Common UNIX Printing System" "22 September 1999" "Easy Software Products"
.TH accept 8 "Common UNIX Printing System" "14 May 1999" "Easy Software Products"
.SH NAME
accept/reject \- accept/reject jobs sent to a destination
.SH SYNOPSIS
@@ -36,22 +36,22 @@ destination(s)
] ]
destination(s)
.SH DESCRIPTION
\fIaccept\fR instructs the printing system to accept print jobs to the
\fBaccept\fR instructs the printing system to accept print jobs to the
specified destinations.
.LP
\fIreject\fR instructs the printing system to reject print jobs to the
\fBreject\fR instructs the printing system to reject print jobs to the
specified destinations. The \fI-r\fR option sets the reason for rejecting
print jobs. If not specified the reason defaults to "Reason Unknown".
.SH COMPATIBILITY
The CUPS versions of \fIaccept\fR and \fIreject\fR may ask the user for an
The CUPS versions of \fBaccept\fR and \fBreject\fR may ask the user for an
access password depending on the printing system configuration. This differs
from the System V versions which require the root user to execute these
commands.
.SH SEE ALSO
cancel(1), disable(8), enable(8), lp(1), lpadmin(8), lpstat(1),
CUPS Software Administrators Manual
CUPS Software Administrator's Manual
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: accept.8 680 1999-09-22 20:06:43Z mike $".
.\" End of "$Id: accept.8 380 1999-06-10 16:15:04Z mike $".
.\"
BIN
Ver Arquivo
Arquivo binário não exibido.
+7 -21
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: backend.1 680 1999-09-22 20:06:43Z mike $"
.\" "$Id: backend.1 327 1999-05-14 17:03:06Z mike $"
.\"
.\" backend man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,7 +21,7 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH backend 1 "Common UNIX Printing System" "22 September 1999" "Easy Software Products"
.TH backend 1 "Common UNIX Printing System" "14 May 1999" "Easy Software Products"
.SH NAME
backend \- backend transmission interfaces
.SH SYNOPSIS
@@ -45,33 +45,19 @@ CHARSET
.br
The default text character set (typically us-ascii or iso-8859-1).
.TP 5
CONTENT_TYPE
.br
The MIME type associated with the file (e.g. application/postscript).
.TP 5
DEVICE_URI
.br
The device-uri associated with the printer; this is provided for shell
scripts which may not be able to get the passed argv[0] string.
.TP 5
LANG
.br
The default language locale (typically C or en).
.TP 5
PATH
.br
The standard execution path for external programs that may be run by
the backend.
The standard execution path for external programs that may be run by the backend.
.TP 5
PPD
.br
The full pathname of the PostScript Printer Description (PPD) file for
this printer.
.TP 5
PRINTER
.br
The name of the printer.
.TP 5
RIP_CACHE
.br
The recommended amount of memory to use for Raster Image Processors (RIPs).
@@ -86,17 +72,17 @@ The name and version number of the server (typically CUPS/1.0).
.TP 5
TZ
.br
The timezone of the server.
The timezone of the server (typically GMT).
.TP 5
USER
.br
The user executing the backend (typically lp).
The user executing the backend (typically root).
.SH SEE ALSO
cupsd(8), filter(1)
CUPS Software Administrators Manual,
CUPS Software Administrator's Manual,
CUPS Interface Design Description
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: backend.1 680 1999-09-22 20:06:43Z mike $".
.\" End of "$Id: backend.1 327 1999-05-14 17:03:06Z mike $".
.\"
BIN
Ver Arquivo
Arquivo binário não exibido.
+4 -7
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: classes.conf.5 680 1999-09-22 20:06:43Z mike $"
.\" "$Id: classes.conf.5 327 1999-05-14 17:03:06Z mike $"
.\"
.\" classes.conf man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,19 +21,16 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH classes.conf 5 "Common UNIX Printing System" "22 September 1999" "Easy Software Products"
.TH classes.conf 5 "Common UNIX Printing System" "14 May 1999" "Easy Software Products"
.SH NAME
classes.conf \- class configuration file for cups
.SH DESCRIPTION
The \fIclasses.conf\fR file defines the local printer classes that are
available. It is normally generated by the \fIcupsd(8)\fR program when
printer classes are added or deleted.
.SH SEE ALSO
cupsd(8), cupsd.conf(5), mime.convs(5), mime.types(5), printers.conf(5),
CUPS Software Administrators Manual,
CUPS Software Administrator's Manual,
CUPS Interface Design Description
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: classes.conf.5 680 1999-09-22 20:06:43Z mike $".
.\" End of "$Id: classes.conf.5 327 1999-05-14 17:03:06Z mike $".
.\"
Arquivo binário não exibido.
+7 -8
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: cupsd.8 680 1999-09-22 20:06:43Z mike $"
.\" "$Id: cupsd.8 327 1999-05-14 17:03:06Z mike $"
.\"
.\" cupsd man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,28 +21,27 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH cupsd 8 "Common UNIX Printing System" "22 September 1999" "Easy Software Products"
.TH cupsd 8 "Common UNIX Printing System" "14 May 1999" "Easy Software Products"
.SH NAME
cupsd \- common unix printing system daemon
.SH SYNOPSIS
.B cups
.I [ \-c config-file ]
.SH DESCRIPTION
\fIcupsd\fR is the scheduler for the Common UNIX Printing System. It implements
\fBcupsd\fR is the scheduler for the Common UNIX Printing System. It implements
a printing system based upon the Internet Printing Protocol, version 1.0. If
no options are specified on the command-line then the default configuration file
(usually \fI/var/cups/conf/cupsf.conf\fR) will be used.
.SH COMPATIBILITY
\fIcupsd\fR implements all of the required IPP/1.0 attributes and operations.
\fBcupsd\fR implements all of the required IPP/1.0 attributes and operations.
It also implements optional operation set 1 and several CUPS-specific
administation operations.
.SH SEE ALSO
backend(1), classes.conf(5), cupsd.conf(5), filter(1), mime.convs(5),
mime.types(5), printers.conf(5),
CUPS Software Administrators Manual,
classes.conf(5), cupsd.conf(5), mime.convs(5), mime.types(5), printers.conf(5),
CUPS Software Administrator's Manual,
CUPS Interface Design Description
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: cupsd.8 680 1999-09-22 20:06:43Z mike $".
.\" End of "$Id: cupsd.8 327 1999-05-14 17:03:06Z mike $".
.\"
+4 -5
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: cupsd.conf.5 680 1999-09-22 20:06:43Z mike $"
.\" "$Id: cupsd.conf.5 327 1999-05-14 17:03:06Z mike $"
.\"
.\" cupsd.conf man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,17 +21,16 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH cupsd.conf 5 "Common UNIX Printing System" "22 September 1999" "Easy Software Products"
.TH cupsd.conf 5 "Common UNIX Printing System" "14 May 1999" "Easy Software Products"
.SH NAME
cupsd.conf \- server configuration file for cups
.SH DESCRIPTION
The \fIcupsd.conf\fR file configures the CUPS scheduler, \fIcupsd(8)\fR.
.SH SEE ALSO
classes.conf(5), cupsd(8), mime.convs(5), mime.types(5), printers.conf(5),
CUPS Software Administrators Manual,
CUPS Software Administrator's Manual,
CUPS Interface Design Description
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: cupsd.conf.5 680 1999-09-22 20:06:43Z mike $".
.\" End of "$Id: cupsd.conf.5 327 1999-05-14 17:03:06Z mike $".
.\"
Arquivo binário não exibido.
BIN
Ver Arquivo
Arquivo binário não exibido.
+7 -7
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: enable.8 680 1999-09-22 20:06:43Z mike $"
.\" "$Id: enable.8 380 1999-06-10 16:15:04Z mike $"
.\"
.\" enable/disable man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,7 +21,7 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH enable 8 "Common UNIX Printing System" "22 September 1999" "Easy Software Products"
.TH enable 8 "Common UNIX Printing System" "14 May 1999" "Easy Software Products"
.SH NAME
disable, disable \- stop/start printers and classes
.SH SYNOPSIS
@@ -35,9 +35,9 @@ destination(s)
.I reason
] ] destination(s)
.SH DESCRIPTION
\fIenable\fR starts the named printers or classes.
\fBenable\fR starts the named printers or classes.
.LP
\fIdisable\fR stops the named printers or classes. The following options may
\fBdisable\fR stops the named printers or classes. The following options may
be used:
.TP 5
\-c
@@ -49,16 +49,16 @@ Cancels all jobs on the named destination.
Sets the message associated with the stopped state. If no reason is specified
then the message is set to "Reason Unknown".
.SH COMPATIBILITY
The CUPS versions of \fIdisable\fR and \fIenable\fR may ask the user for an
The CUPS versions of \fBdisable\fR and \fBenable\fR may ask the user for an
access password depending on the printing system configuration. This differs
from the System V versions which require the root user to execute these
commands.
.SH SEE ALSO
accept(8), cancel(1), lp(1), lpadmin(8), lpstat(1), reject(8),
CUPS Software Administrators Manual
CUPS Software Administrator's Manual
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: enable.8 680 1999-09-22 20:06:43Z mike $".
.\" End of "$Id: enable.8 380 1999-06-10 16:15:04Z mike $".
.\"
BIN
Ver Arquivo
Arquivo binário não exibido.
+6 -19
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: filter.1 680 1999-09-22 20:06:43Z mike $"
.\" "$Id: filter.1 327 1999-05-14 17:03:06Z mike $"
.\"
.\" filter man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,7 +21,7 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH filter 1 "Common UNIX Printing System" "22 September 1999" "Easy Software Products"
.TH filter 1 "Common UNIX Printing System" "14 May 1999" "Easy Software Products"
.SH NAME
filter \- file conversion filter interfaces
.SH SYNOPSIS
@@ -47,14 +47,6 @@ CHARSET
.br
The default text character set (typically us-ascii or iso-8859-1).
.TP 5
CONTENT_TYPE
.br
The MIME type associated with the file (e.g. application/postscript).
.TP 5
DEVICE_URI
.br
The device-uri associated with the printer.
.TP 5
LANG
.br
The default language locale (typically C or en).
@@ -68,11 +60,6 @@ PPD
The full pathname of the PostScript Printer Description (PPD) file for
this printer.
.TP 5
PRINTER
.br
The name of the printer; this is provided for shell scripts which may not be
able to get the passed argv[0] string.
.TP 5
RIP_CACHE
.br
The recommended amount of memory to use for Raster Image Processors (RIPs).
@@ -87,11 +74,11 @@ The name and version number of the server (typically CUPS/1.0).
.TP 5
TZ
.br
The timezone of the server.
The timezone of the server (typically GMT).
.TP 5
USER
.br
The user executing the filter (typically lp).
The user executing the filter (typically root).
.SH COMPATIBILITY
While the filter interface is compatible with System V interface
scripts, it will only work with the System V interface script as the
@@ -99,10 +86,10 @@ only filter. Typically the interface script will be provided via the
\fBlpadmin(8)\fR command using the \fI-i\fR option.
.SH SEE ALSO
backend(1), cupsd(8),
CUPS Software Administrators Manual,
CUPS Software Administrator's Manual,
CUPS Interface Design Description
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: filter.1 680 1999-09-22 20:06:43Z mike $".
.\" End of "$Id: filter.1 327 1999-05-14 17:03:06Z mike $".
.\"
BIN
Ver Arquivo
Arquivo binário não exibido.
+4 -44
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: lp.1 660 1999-09-09 14:58:01Z mike $"
.\" "$Id: lp.1 491 1999-07-07 14:03:48Z mike $"
.\"
.\" lp/cancel man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,7 +21,7 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH lp 1 "Common UNIX Printing System" "9 September 1999" "Easy Software Products"
.TH lp 1 "Common UNIX Printing System" "14 May 1999" "Easy Software Products"
.SH NAME
lp \- print files
.br
@@ -30,8 +30,6 @@ cancel \- cancel jobs
.B lp
[ \-c ] [ \-d
.I destination
] [ -h
.I server
] [ \-m ] [ \-n
.I num-copies
[ \-o
@@ -59,53 +57,15 @@ cancel \- cancel jobs
.LP
\fBcancel\fR cancels existing print jobs. The \fI-a\fR option will remove
all jobs from the specified destination.
.SH OPTIONS
The following options are recognized by \fBlpr\fR:
.TP 5
\-d \fIdestination\fR
.br
Prints files to the named printer.
.TP 5
\-h \fIhostname\fR
.br
Specifies the print server hostname. The default is "localhost" or the value
of the CUPS_SERVER environment variable.
.TP 5
\-m
.br
Send email when the job is completed (ignored in CUPS 1.0.)
.TP 5
\-n \fIcopies\fR
.br
Sets the number of copies to print from 1 to 100.
.TP 5
\-o \fIoption\fR
.br
Sets a job option.
.TP 5
\-p/q \fIpriority\fR
.br
Sets the job priority from 1 (lowest) to 100 (highest). The default priority
is 50.
.TP 5
\-s
.br
Do not report the resulting job IDs (silent mode.)
.TP 5
\-t \fIname\fR
.br
Sets the job name.
.SH COMPATIBILITY
Unlike the System V printing system, CUPS allows printer names to contain
any printable character except SPACE and TAB. Also, printer and class names are
\fBnot\fR case-sensitive.
.LP
The "m" option is not functional in CUPS 1.0.
.SH SEE ALSO
lpstat(1),
CUPS Software Users Manual
CUPS Software User's Manual
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: lp.1 660 1999-09-09 14:58:01Z mike $".
.\" End of "$Id: lp.1 491 1999-07-07 14:03:48Z mike $".
.\"
BIN
Ver Arquivo
Arquivo binário não exibido.
+9 -9
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: lpadmin.8 680 1999-09-22 20:06:43Z mike $"
.\" "$Id: lpadmin.8 461 1999-06-24 17:44:19Z mike $"
.\"
.\" lpadmin man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,7 +21,7 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH lpadmin 8 "Common UNIX Printing System" "22 September 1999" "Easy Software Products"
.TH lpadmin 8 "Common UNIX Printing System" "22 June 1999" "Easy Software Products"
.SH NAME
lpadmin \- configure cups printers and classes
.SH SYNOPSIS
@@ -44,7 +44,7 @@ lpadmin \- configure cups printers and classes
] \-x
.I destination
.SH DESCRIPTION
\fIlpadmin\fR configures printer and class queues provided by CUPS. It can also
\fBlpadmin\fR configures printer and class queues provided by CUPS. It can also
be used to set the system default printer or class.
.LP
The first form of the command sets the default printer or class to
@@ -93,8 +93,8 @@ Provides a textual description of the printer.
.TP 5
\-E
.br
Enables the printer and accepts jobs; this is the same as running the
\fIaccept(8)\fR and \fIenable(8)\fR programs on the printer.
Enables the printer; this is the same as running the \fIaccept(8)\fR and
\fIenable(8)\fR programs on the printer.
.TP 5
\-L \fIlocation\fR
.br
@@ -107,18 +107,18 @@ specified, this option overrides the \fI-i\fR option (interface script).
.SH COMPATIBILITY
Unlike the System V printing system, CUPS allows printer names to contain
any printable character except SPACE and TAB. Also, printer and class names are
\fBnot\fR case-sensitive. Finally, the CUPS version of \fIlpadmin\fR may ask the
\fBnot\fR case-sensitive. Finally, the CUPS version of \fBlpadmin\fR may ask the
user for an access password depending on the printing system configuration.
This differs from the System V version which requires the root user to execute
this command.
.SH LIMITATIONS
The CUPS version of \fIlpadmin\fR does not support all of the System V or
The CUPS version of \fBlpadmin\fR does not support all of the System V or
Solaris printing system configuration options.
.SH SEE ALSO
accept(8), cancel(1), disable(8), enable(8), lp(1), lpstat(1), reject(8),
CUPS Software Administrators Manual
CUPS Software Administrator's Manual
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: lpadmin.8 680 1999-09-22 20:06:43Z mike $".
.\" End of "$Id: lpadmin.8 461 1999-06-24 17:44:19Z mike $".
.\"
BIN
Ver Arquivo
Arquivo binário não exibido.
+11 -11
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: lpc.8 680 1999-09-22 20:06:43Z mike $"
.\" "$Id: lpc.8 327 1999-05-14 17:03:06Z mike $"
.\"
.\" lpc man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,7 +21,7 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH lpc 8 "Common UNIX Printing System" "22 September 1999" "Easy Software Products"
.TH lpc 8 "Common UNIX Printing System" "14 May 1999" "Easy Software Products"
.SH NAME
lpc \- line printer control program
.SH SYNOPSIS
@@ -32,14 +32,14 @@ lpc \- line printer control program
.I parameter(s)
] ]
.SH DESCRIPTION
\fIlpc\fR provides limited control over printer and class queues provided by
\fBlpc\fR provides limited control over printer and class queues provided by
CUPS. It can also be used to query the state of queues.
.LP
If no command is specified on the command-line, \fRlpc\fR will display a
prompt and accept commands from the standard input.
.SH COMMANDS
The \fIlpc\fR program accepts a subset of commands accepted by the Berkeley
\fIlpc\fR program of the same name:
The \fBlpc\fR program accepts a subset of commands accepted by the Berkeley
\fBlpc\fR program of the same name:
.TP 5
\fIexit
.br
@@ -61,19 +61,19 @@ Displays the status of one or more printer or class queues.
.br
Display a short help message.
.SH LIMITATIONS
Since \fIlpc\fR is geared towards the Berkeley printing system, it is impossible
to use \fIlpc\fR to configure printer or class queues provided by CUPS. To
configure printer or class queues you must use the \fIlpadmin(8)\fR command
Since \fBlpc\fR is geared towards the Berkeley printing system, it is impossible
to use \fBlpc\fR to configure printer or class queues provided by CUPS. To
configure printer or class queues you must use the \fBlpadmin(8)\fR command
or another CUPS-compatible client with that functionality.
.SH COMPATIBILITY
The CUPS version of \fIlpc\fR does not implement all of the standard Berkeley
The CUPS version of \fBlpc\fR does not implement all of the standard Berkeley
commands.
.SH SEE ALSO
accept(8), cancel(1), disable(8), enable(8), lp(1), lpr(1), lprm(1),
lpstat(1), reject(8),
CUPS Software Administrators Manual
CUPS Software Administrator's Manual
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: lpc.8 680 1999-09-22 20:06:43Z mike $".
.\" End of "$Id: lpc.8 327 1999-05-14 17:03:06Z mike $".
.\"
BIN
Ver Arquivo
Arquivo binário não exibido.
+5 -5
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: lpr.1 660 1999-09-09 14:58:01Z mike $"
.\" "$Id: lpr.1 491 1999-07-07 14:03:48Z mike $"
.\"
.\" lpr man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,7 +21,7 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH lpr 1 "Common UNIX Printing System" "9 September 1999" "Easy Software Products"
.TH lpr 1 "Common UNIX Printing System" "14 May 1999" "Easy Software Products"
.SH NAME
lpr \- print files
.SH SYNOPSIS
@@ -72,7 +72,7 @@ should be sent without filtering. This option is equivalent to "-oraw".
.TP 5
\-o \fIoption\fR
.br
Sets a job option.
Sets the job name.
.TP 5
\-p
.br
@@ -88,9 +88,9 @@ The "c", "d", "f", "g", "i", "m", "n", "t", "v", and "w" options are not
supported by CUPS and will produce a warning message if used.
.SH SEE ALSO
cancel(1), lp(1), lpstat(1),
CUPS Software Users Manual
CUPS Software User's Manual
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: lpr.1 660 1999-09-09 14:58:01Z mike $".
.\" End of "$Id: lpr.1 491 1999-07-07 14:03:48Z mike $".
.\"
BIN
Ver Arquivo
Arquivo binário não exibido.
+7 -18
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: lprm.1 680 1999-09-22 20:06:43Z mike $"
.\" "$Id: lprm.1 327 1999-05-14 17:03:06Z mike $"
.\"
.\" lprm man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,31 +21,20 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH lprm 1 "Common UNIX Printing System" "22 September 1999" "Easy Software Products"
.TH lprm 1 "Common UNIX Printing System" "14 May 1999" "Easy Software Products"
.SH NAME
lprm \- cancel print jobs
.SH SYNOPSIS
.B lprm
[ - ] [ -P
.I destination
] [
.I job ID(s)
]
.SH DESCRIPTION
\fBlprm\fR cancels print jobs that have been queued for printing. The \fI-P\fR
option specifies the destination printer or class.
.LP
If no arguments are supplied, the current job on the default destination is
cancelled. You can specify one or more job ID numbers to cancel those jobs,
or use the \fI\-\fR option to cancel all jobs.
\fBlpstat\fR
.SH COMPATIBILITY
The CUPS version of \fIlprm\fR is compatible with the standard Berkeley
\fIlprm\fR command.
SOMETHING
.SH SEE ALSO
cancel(1), lp(1), lpstat(1), lpr(1),
CUPS Software Users Manual
cancel(1), lp(1), lpstat(1),
CUPS Software User's Manual
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: lprm.1 680 1999-09-22 20:06:43Z mike $".
.\" End of "$Id: lprm.1 327 1999-05-14 17:03:06Z mike $".
.\"
BIN
Ver Arquivo
Arquivo binário não exibido.
+4 -4
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: lpstat.1 680 1999-09-22 20:06:43Z mike $"
.\" "$Id: lpstat.1 461 1999-06-24 17:44:19Z mike $"
.\"
.\" lpstat man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,7 +21,7 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH lpstat 1 "Common UNIX Printing System" "22 September 1999" "Easy Software Products"
.TH lpstat 1 "Common UNIX Printing System" "24 June 1999" "Easy Software Products"
.SH NAME
lpstat \- print cups status information
.SH SYNOPSIS
@@ -107,9 +107,9 @@ any printable character except SPACE and TAB. Also, printer and class names are
The "-h" option is not a standard System V option.
.SH SEE ALSO
cancel(1), lp(1),
CUPS Software Users Manual
CUPS Software User's Manual
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: lpstat.1 680 1999-09-22 20:06:43Z mike $".
.\" End of "$Id: lpstat.1 461 1999-06-24 17:44:19Z mike $".
.\"
BIN
Ver Arquivo
Arquivo binário não exibido.
+4 -11
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: mime.convs.5 680 1999-09-22 20:06:43Z mike $"
.\" "$Id: mime.convs.5 327 1999-05-14 17:03:06Z mike $"
.\"
.\" mime.convs man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,23 +21,16 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH mime.convs 5 "Common UNIX Printing System" "22 September 1999" "Easy Software Products"
.TH mime.convs 5 "Common UNIX Printing System" "14 May 1999" "Easy Software Products"
.SH NAME
mime.convs \- mime type conversion file for cups
.SH DESCRIPTION
The \fImime.convs\fR file defines the filters that are available for
converting files from one format to another. The standard filters
support text, PDF, PostScript, HP-GL/2, and many types of image files.
.LP
Additional filters can be added to the \fImime.convs\fR file or to
other files in the configuration directory (\fB/var/cups/conf\fR) with
the extension ".convs".
.SH SEE ALSO
classes.conf(5), cupsd(8), cupsd.conf(5), mime.types(5), printers.conf(5),
CUPS Software Administrators Manual,
CUPS Software Administrator's Manual,
CUPS Interface Design Description
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: mime.convs.5 680 1999-09-22 20:06:43Z mike $".
.\" End of "$Id: mime.convs.5 327 1999-05-14 17:03:06Z mike $".
.\"
Arquivo binário não exibido.
+4 -8
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: mime.types.5 680 1999-09-22 20:06:43Z mike $"
.\" "$Id: mime.types.5 327 1999-05-14 17:03:06Z mike $"
.\"
.\" mime.types man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,20 +21,16 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH mime.types 5 "Common UNIX Printing System" "22 September 1999" "Easy Software Products"
.TH mime.types 5 "Common UNIX Printing System" "14 May 1999" "Easy Software Products"
.SH NAME
mime.types \- mime type description file for cups
.SH DESCRIPTION
The \fImime.types\fR file defines the recognized file types.
.LP
Additional file types can be added to \fImime.types\fR or in additional files
in the configuration directory \fB/var/cups/conf\fR with the extension ".types".
.SH SEE ALSO
classes.conf(5), cupsd(8), cupsd.conf(5), mime.convs(5), printers.conf(5),
CUPS Software Administrators Manual,
CUPS Software Administrator's Manual,
CUPS Interface Design Description
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: mime.types.5 680 1999-09-22 20:06:43Z mike $".
.\" End of "$Id: mime.types.5 327 1999-05-14 17:03:06Z mike $".
.\"
Arquivo binário não exibido.
+4 -7
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: printers.conf.5 680 1999-09-22 20:06:43Z mike $"
.\" "$Id: printers.conf.5 327 1999-05-14 17:03:06Z mike $"
.\"
.\" printers.conf man page for the Common UNIX Printing System (CUPS).
.\"
@@ -21,19 +21,16 @@
.\" EMail: cups-info@cups.org
.\" WWW: http://www.cups.org
.\"
.TH printers.conf 5 "Common UNIX Printing System" "22 September 1999" "Easy Software Products"
.TH printers.conf 5 "Common UNIX Printing System" "14 May 1999" "Easy Software Products"
.SH NAME
printers.conf \- printer configuration file for cups
.SH DESCRIPTION
The \fIprinters.conf\fR file defines the local printers that are
available. It is normally generated by the \fIcupsd(8)\fR program when
printers are added, deleted, or modified.
.SH SEE ALSO
classes.conf(5), cupsd(8), cupsd.conf(5), mime.convs(5), mime.types(5),
CUPS Software Administrators Manual,
CUPS Software Administrator's Manual,
CUPS Interface Design Description
.SH COPYRIGHT
Copyright 1993-1999 by Easy Software Products, All Rights Reserved.
.\"
.\" End of "$Id: printers.conf.5 680 1999-09-22 20:06:43Z mike $".
.\" End of "$Id: printers.conf.5 327 1999-05-14 17:03:06Z mike $".
.\"
Arquivo binário não exibido.
+25 -10
Ver Arquivo
@@ -578,7 +578,7 @@ cups_map_rgb_color(gx_device *pdev, /* I - Device info */
gx_color_value b) /* I - Blue value */
{
gx_color_index i; /* Temporary index */
gx_color_value ic, im, iy, ik, mk; /* Integral CMYK values */
gx_color_value ic, im, iy, ik; /* Integral CMYKcm values */
float divk, /* Black "divisor" */
diff; /* Average color difference */
int tc, tm, ty, tk; /* Temporary color values */
@@ -779,9 +779,12 @@ cups_map_rgb_color(gx_device *pdev, /* I - Device info */
iy = gx_max_color_value - b;
ik = min(ic, min(im, iy));
mk = max(ic, max(im, iy));
if (mk > ik)
ik = ik * ik / mk;
if (ik > 0)
{
diff = 1.0 - (float)(max(ic, max(im, iy)) - ik) /
(float)gx_max_color_value;
ik = (int)(diff * (float)ik);
}
if (ik == gx_max_color_value)
{
@@ -851,9 +854,12 @@ cups_map_rgb_color(gx_device *pdev, /* I - Device info */
iy = gx_max_color_value - b;
ik = min(ic, min(im, iy));
mk = max(ic, max(im, iy));
if (mk > ik)
ik = ik * ik / mk;
if (ik > 0)
{
diff = 1.0 - (float)(max(ic, max(im, iy)) - ik) /
(float)gx_max_color_value;
ik = (int)(diff * (float)ik);
}
if (ik == gx_max_color_value)
{
@@ -919,6 +925,12 @@ cups_map_rgb_color(gx_device *pdev, /* I - Device info */
iy = gx_max_color_value - b;
ik = min(ic, min(im, iy));
if (ik > 0)
{
diff = 1.0 - (float)(max(ic, max(im, iy)) - ik) / (float)ik;
ik = (int)(diff * (float)ik);
}
ic = lut_rgb_color[ic - ik];
im = lut_rgb_color[im - ik];
iy = lut_rgb_color[iy - ik];
@@ -948,9 +960,12 @@ cups_map_rgb_color(gx_device *pdev, /* I - Device info */
iy = gx_max_color_value - b;
ik = min(ic, min(im, iy));
mk = max(ic, max(im, iy));
if (mk > ik)
ik = ik * ik / mk;
if (ik > 0)
{
diff = 1.0 - (float)(max(ic, max(im, iy)) - ik) /
(float)gx_max_color_value;
ik = (int)(diff * (float)ik);
}
if (ik == gx_max_color_value)
{
-10
Ver Arquivo
@@ -40,17 +40,7 @@
*/
#include <cups/string.h>
#define bool bool_ /* (maybe not needed) */
#define uchar uchar_
#define uint uint_
#define ushort ushort_
#define ulong ulong_
#include <stdlib.h>
#undef bool
#undef uchar
#undef uint
#undef ushort
#undef ulong
#include "ghost.h"
#include "imain.h"
#include "iminst.h"
+1 -1
Ver Arquivo
@@ -25,7 +25,7 @@
include ../Makedefs
CUPSDOBJS = auth.o classes.o client.o conf.o dirsvc.o main.o ipp.o \
listen.o job.o log.o printers.o
listen.o job.o printers.o
OBJS = $(CUPSDOBJS) testspeed.o
#
+1 -23
Ver Arquivo
@@ -424,26 +424,8 @@ LoadAllClasses(void)
p->state = IPP_PRINTER_IDLE;
else if (strcasecmp(value, "stopped") == 0)
p->state = IPP_PRINTER_STOPPED;
}
else if (strcmp(name, "Accepting") == 0)
{
/*
* Set the initial accepting state...
*/
if (strcasecmp(value, "yes") == 0)
p->accepting = 1;
else
p->accepting = 0;
}
else
{
/*
* Something else we don't understand...
*/
LogMessage(LOG_ERROR, "Unknown configuration directive %s on line %d of classes.conf.",
name, linenum);
p->accepting = p->state != IPP_PRINTER_STOPPED;
}
}
@@ -524,10 +506,6 @@ SaveAllClasses(void)
fputs("State Stopped\n", fp);
else
fputs("State Idle\n", fp);
if (pclass->accepting)
fputs("Accepting Yes\n", fp);
else
fputs("Accepting No\n", fp);
for (i = 0; i < pclass->num_printers; i ++)
fprintf(fp, "Printer %s\n", pclass->printers[i]->name);
+2 -12
Ver Arquivo
@@ -1345,7 +1345,6 @@ pipe_command(client_t *con, /* I - Client connection */
static char remote_user[1024]; /* REMOTE_HOST env variable */
static char tmpdir[1024]; /* TMPDIR env variable */
/*
* Copy the command string...
*/
@@ -1419,7 +1418,7 @@ pipe_command(client_t *con, /* I - Client connection */
envp[7] = remote_host;
envp[8] = remote_user;
envp[9] = lang;
envp[10] = TZ;
envp[10] = "TZ=GMT";
envp[11] = tmpdir;
if (con->operation == HTTP_GET)
@@ -1444,14 +1443,10 @@ pipe_command(client_t *con, /* I - Client connection */
*/
if (pipe(fds))
{
LogMessage(LOG_ERROR, "Unable to create pipes for CGI %s - %s",
argv[0], strerror(errno));
return (0);
}
/*
* Then execute the command...
* Then execute the pipe command...
*/
if ((pid = fork()) == 0)
@@ -1490,9 +1485,6 @@ pipe_command(client_t *con, /* I - Client connection */
* Error - can't fork!
*/
LogMessage(LOG_ERROR, "Unable to fork for CGI %s - %s", argv[0],
strerror(errno));
close(fds[0]);
close(fds[1]);
return (0);
@@ -1503,8 +1495,6 @@ pipe_command(client_t *con, /* I - Client connection */
* Fork successful - return the PID...
*/
LogMessage(LOG_DEBUG, "CGI %s started - PID = %d", argv[0], pid);
*outfile = fds[0];
close(fds[1]);
+312 -22
Ver Arquivo
@@ -24,6 +24,8 @@
* Contents:
*
* ReadConfiguration() - Read the cupsd.conf file.
* LogRequest() - Log an HTTP request in Common Log Format.
* LogMessage() - Log a message to the error log file.
* read_configuration() - Read a configuration file.
* read_location() - Read a <Location path> definition.
* get_address() - Get an address + port number from a line.
@@ -98,6 +100,21 @@ static var_t variables[] =
{ "MaxRequestSize", &MaxRequestSize, VAR_INTEGER, 0 }
};
#define NUM_VARS (sizeof(variables) / sizeof(variables[0]))
static char *months[12] = /* Months */
{
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
};
/*
@@ -140,14 +157,16 @@ ReadConfiguration(void)
if (AccessFile != NULL)
{
fclose(AccessFile);
if (AccessFile != stderr)
fclose(AccessFile);
AccessFile = NULL;
}
if (ErrorFile != NULL)
{
fclose(ErrorFile);
if (ErrorFile != stderr)
fclose(ErrorFile);
ErrorFile = NULL;
}
@@ -312,6 +331,294 @@ ReadConfiguration(void)
}
/*
* 'LogRequest()' - Log an HTTP request in Common Log Format.
*/
int /* O - 1 on success, 0 on error */
LogRequest(client_t *con, /* I - Request to log */
http_status_t code) /* I - Response code */
{
char filename[1024], /* Name of access log file */
backname[1024]; /* Backup filename */
struct tm *date; /* Date information */
static char *states[] = /* HTTP client states... */
{
"WAITING",
"OPTIONS",
"GET",
"GET",
"HEAD",
"POST",
"POST",
"POST",
"PUT",
"PUT",
"DELETE",
"TRACE",
"CLOSE",
"STATUS"
};
/*
* See if the access log is open...
*/
if (AccessFile == NULL)
{
/*
* Nope, open the access log file...
*/
if (AccessLog[0] == '\0')
return (1);
else if (AccessLog[0] != '/')
sprintf(filename, "%s/%s", ServerRoot, AccessLog);
else
strcpy(filename, AccessLog);
if ((AccessFile = fopen(filename, "a")) == NULL)
AccessFile = stderr;
}
/*
* See if we need to rotate the log file...
*/
if (ftell(AccessFile) > MaxLogSize && MaxLogSize > 0)
{
/*
* Rotate access_log file...
*/
fclose(AccessFile);
if (AccessLog[0] != '/')
sprintf(filename, "%s/%s", ServerRoot, AccessLog);
else
strcpy(filename, AccessLog);
strcpy(backname, filename);
strcat(backname, ".O");
unlink(backname);
rename(filename, backname);
if ((AccessFile = fopen(filename, "a")) == NULL)
AccessFile = stderr;
}
/*
* Write a log of the request in "common log format"...
*/
date = localtime(&(con->start));
fprintf(AccessFile, "%s - %s [%02d/%s/%04d:%02d:%02d:%02d +0000] \"%s %s HTTP/%d.%d\" %d %d\n",
con->http.hostname, con->username[0] != '\0' ? con->username : "-",
date->tm_mday, months[date->tm_mon], 1900 + date->tm_year,
date->tm_hour, date->tm_min, date->tm_sec,
states[con->operation], con->uri,
con->http.version / 100, con->http.version % 100,
code, con->bytes);
fflush(AccessFile);
return (1);
}
/*
* 'LogMessage()' - Log a message to the error log file.
*/
int /* O - 1 on success, 0 on error */
LogMessage(int level, /* I - Log level */
char *message, /* I - printf-style message string */
...) /* I - Additional args as needed */
{
char filename[1024], /* Name of error log file */
backname[1024]; /* Backup filename */
va_list ap; /* Argument pointer */
time_t dtime; /* Time value */
struct tm *date; /* Date information */
static char levels[] = /* Log levels... */
{
'N',
'E',
'W',
'I',
'D'
};
/*
* See if we want to log this message...
*/
if (level <= LogLevel)
{
/*
* See if the error log file is open...
*/
if (ErrorFile == NULL)
{
/*
* Nope, open error log...
*/
if (ErrorLog[0] == '\0')
return (1);
else if (ErrorLog[0] != '/')
sprintf(filename, "%s/%s", ServerRoot, ErrorLog);
else
strcpy(filename, ErrorLog);
if ((ErrorFile = fopen(filename, "a")) == NULL)
ErrorFile = stderr;
}
/*
* Do we need to rotate the log?
*/
if (ftell(ErrorFile) > MaxLogSize && MaxLogSize > 0)
{
/*
* Rotate error_log file...
*/
fclose(ErrorFile);
if (ErrorLog[0] != '/')
sprintf(filename, "%s/%s", ServerRoot, ErrorLog);
else
strcpy(filename, ErrorLog);
strcpy(backname, filename);
strcat(backname, ".O");
unlink(backname);
rename(filename, backname);
if ((ErrorFile = fopen(filename, "a")) == NULL)
ErrorFile = stderr;
}
/*
* Print the log level and date/time...
*/
dtime = time(NULL);
date = localtime(&dtime);
fprintf(ErrorFile, "%c [%02d/%s/%04d:%02d:%02d:%02d +0000] ",
levels[level],
date->tm_mday, months[date->tm_mon], 1900 + date->tm_year,
date->tm_hour, date->tm_min, date->tm_sec);
/*
* Then the log message...
*/
va_start(ap, message);
vfprintf(ErrorFile, message, ap);
va_end(ap);
/*
* Then a newline...
*/
fputs("\n", ErrorFile);
fflush(ErrorFile);
}
return (1);
}
/*
* 'LogMessage()' - Log a message to the error log file.
*/
int /* O - 1 on success, 0 on error */
LogPage(job_t *job, /* I - Job being printed */
char *page) /* I - Page being printed */
{
char filename[1024], /* Name of error log file */
backname[1024]; /* Backup filename */
time_t dtime; /* Time value */
struct tm *date; /* Date information */
/*
* See if the page log file is open...
*/
if (PageFile == NULL)
{
/*
* Nope, open page log...
*/
if (PageLog[0] == '\0')
return (1);
else if (PageLog[0] != '/')
sprintf(filename, "%s/%s", ServerRoot, PageLog);
else
strcpy(filename, PageLog);
if ((PageFile = fopen(filename, "a")) == NULL)
PageFile = stderr;
}
/*
* Do we need to rotate the log?
*/
if (ftell(PageFile) > MaxLogSize && MaxLogSize > 0)
{
/*
* Rotate page_log file...
*/
fclose(PageFile);
if (PageLog[0] != '/')
sprintf(filename, "%s/%s", ServerRoot, PageLog);
else
strcpy(filename, PageLog);
strcpy(backname, filename);
strcat(backname, ".O");
unlink(backname);
rename(filename, backname);
if ((PageFile = fopen(filename, "a")) == NULL)
PageFile = stderr;
}
/*
* Print a page log entry of the form:
*
* printer job-id user [DD/MON/YYYY:HH:MM:SS +0000] page num-copies
*/
dtime = time(NULL);
date = localtime(&dtime);
fprintf(PageFile, "%s %s %d [%02d/%s/%04d:%02d:%02d:%02d +0000] %s\n",
job->printer->name, job->username, job->id,
date->tm_mday, months[date->tm_mon], 1900 + date->tm_year,
date->tm_hour, date->tm_min, date->tm_sec, page);
fflush(PageFile);
return (1);
}
/*
* 'read_configuration()' - Read a configuration file.
*/
@@ -410,12 +717,7 @@ read_configuration(FILE *fp) /* I - File to read from */
{
if (get_address(value, INADDR_ANY, IPP_PORT,
&(Listeners[NumListeners].address)))
{
LogMessage(LOG_INFO, "Listening to %x:%d\n",
ntohl(Listeners[NumListeners].address.sin_addr.s_addr),
ntohs(Listeners[NumListeners].address.sin_port));
NumListeners ++;
}
else
LogMessage(LOG_ERROR, "Bad %s address %s at line %d.", name,
value, linenum);
@@ -433,12 +735,7 @@ read_configuration(FILE *fp) /* I - File to read from */
if (NumBrowsers < MAX_BROWSERS)
{
if (get_address(value, INADDR_NONE, BrowsePort, Browsers + NumBrowsers))
{
LogMessage(LOG_INFO, "Sending browsing info to %x:%d\n",
ntohl(Browsers[NumBrowsers].sin_addr.s_addr),
ntohs(Browsers[NumBrowsers].sin_port));
NumBrowsers ++;
}
else
LogMessage(LOG_ERROR, "Bad BrowseAddress %s at line %d.", value,
linenum);
@@ -849,13 +1146,11 @@ get_address(char *value, /* I - Value string */
strcpy(portname, hostname);
hostname[0] = '\0';
}
else
portname[0] = '\0';
break;
case 2 :
break;
default :
LogMessage(LOG_ERROR, "Unable to decode address \"%s\"!", value);
puts("sscanf failed!");
return (0);
}
@@ -866,13 +1161,12 @@ get_address(char *value, /* I - Value string */
if (hostname[0] != '\0')
{
if (isdigit(hostname[0]))
address->sin_addr.s_addr = inet_addr(hostname);
address->sin_addr.s_addr = htonl(inet_addr(hostname));
else
{
if ((host = gethostbyname(hostname)) == NULL)
{
LogMessage(LOG_ERROR, "gethostbyname(\"%s\") failed - %s!", hostname,
strerror(errno));
perror("gethostbyname");
return (0);
}
@@ -888,11 +1182,7 @@ get_address(char *value, /* I - Value string */
else
{
if ((port = getservbyname(portname, NULL)) == NULL)
{
LogMessage(LOG_ERROR, "getservbyname(\"%s\") failed - %s!", portname,
strerror(errno));
return (0);
}
else
address->sin_port = htons(port->s_port);
}
-2
Ver Arquivo
@@ -148,8 +148,6 @@ VAR fd_set InputSet, /* Input files for select() */
VAR time_t StartTime; /* Time server was started */
VAR int NeedReload VALUE(TRUE);
/* Need to load configuration? */
VAR char TZ[1024] VALUE("TZ=GMT");
/* Timezone configuration */
/*
+2 -10
Ver Arquivo
@@ -180,12 +180,8 @@ UpdateBrowseList(void)
if ((bytes = recvfrom(BrowseSocket, packet, sizeof(packet), 0,
(struct sockaddr *)&addr, &len)) <= 0)
{
LogMessage(LOG_ERROR, "Browse recv failed - %s.",
LogMessage(LOG_ERROR, "UpdateBrowseList: recv failed - %s.",
strerror(errno));
LogMessage(LOG_ERROR, "Browsing turned off.");
StopBrowsing();
Browsing = 0;
return;
}
@@ -195,12 +191,8 @@ UpdateBrowseList(void)
#else
if ((bytes = recv(BrowseSocket, packet, sizeof(packet), 0)) <= 0)
{
LogMessage(LOG_ERROR, "Browse recv failed - %s.",
LogMessage(LOG_ERROR, "UpdateBrowseList: recv failed - %s.",
strerror(errno));
LogMessage(LOG_ERROR, "Browsing turned off.");
StopBrowsing();
Browsing = 0;
return;
}
+50 -70
Ver Arquivo
@@ -175,13 +175,6 @@ ProcessIPPRequest(client_t *con) /* I - Client connection */
else
uri = NULL;
ippAddString(con->response, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
"attributes-charset", NULL, charset->values[0].string.text);
ippAddString(con->response, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
"attributes-natural-language", NULL,
language->values[0].string.text);
if (charset == NULL || language == NULL ||
(uri == NULL && con->request->request.op.operation_id < IPP_PRIVATE))
{
@@ -197,6 +190,14 @@ ProcessIPPRequest(client_t *con) /* I - Client connection */
}
else
{
attr = ippAddString(con->response, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
"attributes-charset", NULL,
charset->values[0].string.text);
attr = ippAddString(con->response, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
"attributes-natural-language", NULL,
language->values[0].string.text);
/*
* OK, all the checks pass so far; try processing the operation...
*/
@@ -323,8 +324,6 @@ accept_jobs(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "accept_jobs: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -341,7 +340,8 @@ accept_jobs(client_t *con, /* I - Client connection */
* Bad URI...
*/
LogMessage(LOG_ERROR, "accept_jobs: resource name \'%s\' no good!", resource);
DEBUG_printf(("accept_jobs: resource name \'%s\' no good!\n",
resource));
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -395,8 +395,6 @@ add_class(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "add_class: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -547,7 +545,8 @@ add_class(client_t *con, /* I - Client connection */
* Bad URI...
*/
LogMessage(LOG_ERROR, "add_class: resource name \'%s\' no good!", resource);
DEBUG_printf(("add_class: resource name \'%s\' no good!\n",
resource));
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -607,8 +606,6 @@ add_printer(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "add_printer: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -857,8 +854,6 @@ cancel_all_jobs(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "cancel_all_jobs: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -888,7 +883,8 @@ cancel_all_jobs(client_t *con, /* I - Client connection */
* Bad URI...
*/
LogMessage(LOG_ERROR, "cancel_all_jobs: resource name \'%s\' no good!", resource);
DEBUG_printf(("cancel_all_jobs: resource name \'%s\' no good!\n",
resource));
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -1156,8 +1152,6 @@ delete_printer(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "delete_printer: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -1176,7 +1170,8 @@ delete_printer(client_t *con, /* I - Client connection */
* Bad URI...
*/
LogMessage(LOG_ERROR, "delete_printer: resource name \'%s\' no good!", resource);
DEBUG_printf(("get_printer_attrs: resource name \'%s\' no good!\n",
resource));
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -1296,7 +1291,8 @@ get_jobs(client_t *con, /* I - Client connection */
* Bad URI...
*/
LogMessage(LOG_ERROR, "get_jobs: resource name \'%s\' no good!", resource);
DEBUG_printf(("get_jobs: resource name \'%s\' no good!\n",
resource));
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -1677,7 +1673,8 @@ get_printer_attrs(client_t *con, /* I - Client connection */
* Bad URI...
*/
LogMessage(LOG_ERROR, "get_printer_attrs: resource name \'%s\' no good!", resource);
DEBUG_printf(("get_printer_attrs: resource name \'%s\' no good!\n",
resource));
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -1784,28 +1781,19 @@ print_job(client_t *con, /* I - Client connection */
* Is it a format we support?
*/
if ((format = ippFindAttribute(con->request, "document-format", IPP_TAG_MIMETYPE)) != NULL)
if ((format = ippFindAttribute(con->request, "document-format", IPP_TAG_MIMETYPE)) == NULL)
{
/*
* Grab format from client...
*/
if (sscanf(format->values[0].string.text, "%15[^/]/%31[^;]", super, type) != 2)
{
DEBUG_printf(("print_job: could not scan type \'%s\'!\n",
format->values[0].string.text));
send_ipp_error(con, IPP_BAD_REQUEST);
return;
}
DEBUG_puts("print_job: missing document-format attribute!");
send_ipp_error(con, IPP_BAD_REQUEST);
return;
}
else
{
/*
* No document format attribute? Auto-type it!
*/
strcpy(super, "application");
strcpy(type, "octet-stream");
if (sscanf(format->values[0].string.text, "%15[^/]/%31[^;]", super, type) != 2)
{
DEBUG_printf(("print_job: could not scan type \'%s\'!\n",
format->values[0].string.text));
send_ipp_error(con, IPP_BAD_REQUEST);
return;
}
if (strcmp(super, "application") == 0 &&
@@ -1824,16 +1812,9 @@ print_job(client_t *con, /* I - Client connection */
* Replace the document-format attribute value with the auto-typed one.
*/
free(format->values[0].string.text);
sprintf(mimetype, "%s/%s", filetype->super, filetype->type);
if (format != NULL)
{
free(format->values[0].string.text);
format->values[0].string.text = strdup(mimetype);
}
else
ippAddString(con->request, IPP_TAG_JOB, IPP_TAG_MIMETYPE,
"document-format", NULL, mimetype);
format->values[0].string.text = strdup(mimetype);
}
}
else
@@ -1864,7 +1845,8 @@ print_job(client_t *con, /* I - Client connection */
* Bad URI...
*/
LogMessage(LOG_ERROR, "print_job: resource name \'%s\' no good!", resource);
DEBUG_printf(("print_job: resource name \'%s\' no good!\n",
resource));
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -1880,8 +1862,6 @@ print_job(client_t *con, /* I - Client connection */
if (!printer->accepting)
{
LogMessage(LOG_INFO, "print_job: destination \'%s\' is not accepting jobs.",
dest);
send_ipp_error(con, IPP_NOT_ACCEPTING);
return;
}
@@ -1902,8 +1882,6 @@ print_job(client_t *con, /* I - Client connection */
if ((job = AddJob(priority, printer->name)) == NULL)
{
LogMessage(LOG_ERROR, "print_job: unable to add job for destination \'%s\'!",
dest);
send_ipp_error(con, IPP_INTERNAL_ERROR);
return;
}
@@ -1993,8 +1971,6 @@ reject_jobs(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "reject_jobs: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -2011,7 +1987,8 @@ reject_jobs(client_t *con, /* I - Client connection */
* Bad URI...
*/
LogMessage(LOG_ERROR, "reject_jobs: resource name \'%s\' no good!", resource);
DEBUG_printf(("reject_jobs: resource name \'%s\' no good!\n",
resource));
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -2058,11 +2035,16 @@ send_ipp_error(client_t *con, /* I - Client connection */
{
DEBUG_printf(("send_ipp_error(%08x, %04x)\n", con, status));
LogMessage(LOG_DEBUG, "Sending IPP error code %x.", status);
if (con->filename[0])
unlink(con->filename);
con->response->request.status.status_code = status;
ippAddString(con->response, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
"attributes-charset", NULL, DefaultCharset);
ippAddString(con->response, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
"attributes-natural-language", NULL, DefaultLanguage);
}
@@ -2095,8 +2077,6 @@ set_default(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "set_default: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -2113,7 +2093,8 @@ set_default(client_t *con, /* I - Client connection */
* Bad URI...
*/
LogMessage(LOG_ERROR, "set_default: resource name \'%s\' no good!", resource);
DEBUG_printf(("set_default: resource name \'%s\' no good!\n",
resource));
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -2171,8 +2152,6 @@ start_printer(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "start_printer: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -2189,7 +2168,8 @@ start_printer(client_t *con, /* I - Client connection */
* Bad URI...
*/
LogMessage(LOG_ERROR, "start_printer: resource name \'%s\' no good!", resource);
DEBUG_printf(("start_printer: resource name \'%s\' no good!\n",
resource));
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -2258,8 +2238,6 @@ stop_printer(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "stop_printer: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -2276,7 +2254,8 @@ stop_printer(client_t *con, /* I - Client connection */
* Bad URI...
*/
LogMessage(LOG_ERROR, "stop_printer: resource name \'%s\' no good!", resource);
DEBUG_printf(("stop_printer: resource name \'%s\' no good!\n",
resource));
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -2447,7 +2426,8 @@ validate_job(client_t *con, /* I - Client connection */
* Bad URI...
*/
LogMessage(LOG_ERROR, "validate_job: resource name \'%s\' no good!", resource);
DEBUG_printf(("validate_job: resource name \'%s\' no good!\n",
resource));
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
+8 -16
Ver Arquivo
@@ -301,13 +301,11 @@ StartJob(int id, /* I - Job ID */
/* Job title string */
copies[255], /* # copies string */
options[16384], /* Full list of options */
*envp[15], /* Environment variables */
*envp[13], /* Environment variables */
language[255], /* LANG environment variable */
charset[255], /* CHARSET environment variable */
content_type[255],/* CONTENT_TYPE environment variable */
device_uri[1024],/* DEVICE_URI environment variable */
ppd[1024], /* PPD environment variable */
printer_name[255],/* PRINTER environment variable */
root[1024], /* SERVER_ROOT environment variable */
cache[255], /* RIP_MAX_CACHE environment variable */
tmpdir[1024]; /* TMPDIR environment variable */
@@ -531,14 +529,12 @@ StartJob(int id, /* I - Job ID */
sprintf(charset, "CHARSET=%s", attr->values[0].string.text);
}
sprintf(ppd, "PPD=%s/ppd/%s.ppd", ServerRoot, printer->name);
sprintf(root, "SERVER_ROOT=%s", ServerRoot);
sprintf(cache, "RIP_MAX_CACHE=%s", RIPCache);
sprintf(tmpdir, "TMPDIR=%s", TempDir);
sprintf(content_type, "CONTENT_TYPE=%s/%s", current->filetype->super,
current->filetype->type);
sprintf(device_uri, "DEVICE_URI=%s", printer->device_uri);
sprintf(ppd, "PPD=%s/ppd/%s.ppd", ServerRoot, printer->name);
sprintf(printer_name, "PRINTER=%s", printer->name);
sprintf(cache, "RIP_MAX_CACHE=%s", RIPCache);
sprintf(root, "SERVER_ROOT=%s", ServerRoot);
sprintf(tmpdir, "TMPDIR=%s", TempDir);
envp[0] = "PATH=/bin:/usr/bin";
envp[1] = "SOFTWARE=CUPS/1.0";
@@ -546,15 +542,13 @@ StartJob(int id, /* I - Job ID */
envp[3] = "USER=root";
envp[4] = charset;
envp[5] = language;
envp[6] = TZ;
envp[6] = "TZ=GMT";
envp[7] = ppd;
envp[8] = root;
envp[9] = cache;
envp[10] = tmpdir;
envp[11] = content_type;
envp[12] = device_uri;
envp[13] = printer_name;
envp[14] = NULL;
envp[12] = NULL;
DEBUG_puts(envp[0]);
DEBUG_puts(envp[1]);
@@ -568,8 +562,6 @@ StartJob(int id, /* I - Job ID */
DEBUG_puts(envp[9]);
DEBUG_puts(envp[10]);
DEBUG_puts(envp[11]);
DEBUG_puts(envp[12]);
DEBUG_puts(envp[13]);
/*
* Now create processes for all of the filters...
@@ -858,7 +850,7 @@ UpdateJob(job_t *job) /* I - Job to check */
if (loglevel != LOG_INFO)
LogMessage(loglevel, "%s", message);
if ((loglevel == LOG_INFO && !job->status) ||
if ((loglevel >= LOG_INFO && !job->state) ||
loglevel < LOG_INFO)
strncpy(job->printer->state_message, message,
sizeof(job->printer->state_message) - 1);
-371
Ver Arquivo
@@ -1,371 +0,0 @@
/*
* "$Id$"
*
* Log file routines for the Common UNIX Printing System (CUPS).
*
* 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
* 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:
*
* LogMessage() - Log a message to the error log file.
* LogPage() - Log a page to the page log file.
* LogRequest() - Log an HTTP request in Common Log Format.
*/
/*
* Include necessary headers...
*/
#include "cupsd.h"
#include <stdarg.h>
/*
* Local functions...
*/
static char *get_datetime(time_t t);
/*
* 'LogMessage()' - Log a message to the error log file.
*/
int /* O - 1 on success, 0 on error */
LogMessage(int level, /* I - Log level */
char *message, /* I - printf-style message string */
...) /* I - Additional args as needed */
{
char filename[1024], /* Name of error log file */
backname[1024]; /* Backup filename */
va_list ap; /* Argument pointer */
static char levels[] = /* Log levels... */
{
'N',
'E',
'W',
'I',
'D'
};
/*
* See if we want to log this message...
*/
if (level <= LogLevel)
{
/*
* See if the error log file is open...
*/
if (ErrorFile == NULL)
{
/*
* Nope, open error log...
*/
if (ErrorLog[0] == '\0')
return (1);
else if (ErrorLog[0] != '/')
sprintf(filename, "%s/%s", ServerRoot, ErrorLog);
else
strcpy(filename, ErrorLog);
if ((ErrorFile = fopen(filename, "a")) == NULL)
return (0);
}
/*
* Do we need to rotate the log?
*/
if (ftell(ErrorFile) > MaxLogSize && MaxLogSize > 0)
{
/*
* Rotate error_log file...
*/
fclose(ErrorFile);
if (ErrorLog[0] != '/')
sprintf(filename, "%s/%s", ServerRoot, ErrorLog);
else
strcpy(filename, ErrorLog);
strcpy(backname, filename);
strcat(backname, ".O");
unlink(backname);
rename(filename, backname);
if ((ErrorFile = fopen(filename, "a")) == NULL)
return (0);
}
/*
* Print the log level and date/time...
*/
fprintf(ErrorFile, "%c %s ", levels[level], get_datetime(time(NULL)));
/*
* Then the log message...
*/
va_start(ap, message);
vfprintf(ErrorFile, message, ap);
va_end(ap);
/*
* Then a newline...
*/
fputs("\n", ErrorFile);
fflush(ErrorFile);
}
return (1);
}
/*
* 'LogPage()' - Log a page to the page log file.
*/
int /* O - 1 on success, 0 on error */
LogPage(job_t *job, /* I - Job being printed */
char *page) /* I - Page being printed */
{
char filename[1024], /* Name of error log file */
backname[1024]; /* Backup filename */
/*
* See if the page log file is open...
*/
if (PageFile == NULL)
{
/*
* Nope, open page log...
*/
if (PageLog[0] == '\0')
return (1);
else if (PageLog[0] != '/')
sprintf(filename, "%s/%s", ServerRoot, PageLog);
else
strcpy(filename, PageLog);
if ((PageFile = fopen(filename, "a")) == NULL)
return (0);
}
/*
* Do we need to rotate the log?
*/
if (ftell(PageFile) > MaxLogSize && MaxLogSize > 0)
{
/*
* Rotate page_log file...
*/
fclose(PageFile);
if (PageLog[0] != '/')
sprintf(filename, "%s/%s", ServerRoot, PageLog);
else
strcpy(filename, PageLog);
strcpy(backname, filename);
strcat(backname, ".O");
unlink(backname);
rename(filename, backname);
if ((PageFile = fopen(filename, "a")) == NULL)
return (0);
}
/*
* Print a page log entry of the form:
*
* printer job-id user [DD/MON/YYYY:HH:MM:SS +TTTT] page num-copies
*/
fprintf(PageFile, "%s %s %d %s %s\n", job->printer->name, job->username,
job->id, get_datetime(time(NULL)), page);
fflush(PageFile);
return (1);
}
/*
* 'LogRequest()' - Log an HTTP request in Common Log Format.
*/
int /* O - 1 on success, 0 on error */
LogRequest(client_t *con, /* I - Request to log */
http_status_t code) /* I - Response code */
{
char filename[1024], /* Name of access log file */
backname[1024]; /* Backup filename */
static char *states[] = /* HTTP client states... */
{
"WAITING",
"OPTIONS",
"GET",
"GET",
"HEAD",
"POST",
"POST",
"POST",
"PUT",
"PUT",
"DELETE",
"TRACE",
"CLOSE",
"STATUS"
};
/*
* See if the access log is open...
*/
if (AccessFile == NULL)
{
/*
* Nope, open the access log file...
*/
if (AccessLog[0] == '\0')
return (1);
else if (AccessLog[0] != '/')
sprintf(filename, "%s/%s", ServerRoot, AccessLog);
else
strcpy(filename, AccessLog);
if ((AccessFile = fopen(filename, "a")) == NULL)
return (0);
}
/*
* See if we need to rotate the log file...
*/
if (ftell(AccessFile) > MaxLogSize && MaxLogSize > 0)
{
/*
* Rotate access_log file...
*/
fclose(AccessFile);
if (AccessLog[0] != '/')
sprintf(filename, "%s/%s", ServerRoot, AccessLog);
else
strcpy(filename, AccessLog);
strcpy(backname, filename);
strcat(backname, ".O");
unlink(backname);
rename(filename, backname);
if ((AccessFile = fopen(filename, "a")) == NULL)
return (0);
}
/*
* Write a log of the request in "common log format"...
*/
fprintf(AccessFile, "%s - %s %s \"%s %s HTTP/%d.%d\" %d %d\n",
con->http.hostname, con->username[0] != '\0' ? con->username : "-",
get_datetime(con->start), states[con->operation], con->uri,
con->http.version / 100, con->http.version % 100,
code, con->bytes);
fflush(AccessFile);
return (1);
}
/*
* 'get_datetime()' - Returns a pointer to a date/time string.
*/
static char * /* O - Date/time string */
get_datetime(time_t t) /* I - Time value */
{
struct tm *date; /* Date/time value */
static char s[1024]; /* Date/time string */
static char *months[12] = /* Months */
{
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
};
/*
* Get the date and time from the UNIX time value, and then format it
* into a string. Note that we *can't* use the strftime() function since
* it is localized and will seriously confuse automatic programs if the
* month names are in the wrong language!
*
* Also, we use the "timezone" variable that contains the current timezone
* offset from GMT in seconds so that we are reporting local time in the
* log files. If you want GMT, set the TZ environment variable accordingly
* before starting the scheduler.
*
* (*BSD stores the timezone offset in the tm structure)
*/
date = localtime(&t);
sprintf(s, "[%02d/%s/%04d:%02d:%02d:%02d %+02d%02d]",
date->tm_mday, months[date->tm_mon], 1900 + date->tm_year,
date->tm_hour, date->tm_min, date->tm_sec,
#ifdef BSD
date->tm_gmtoff / 3600, (date->tm_gmtoff / 60) % 60);
#else
timezone / 3600, (timezone / 60) % 60);
#endif
return (s);
}
/*
* End of "$Id$".
*/
+1 -10
Ver Arquivo
@@ -104,9 +104,6 @@ main(int argc, /* I - Number of command-line arguments */
* Set the timezone info...
*/
if (getenv("TZ") != NULL)
sprintf(TZ, "TZ=%s", getenv("TZ"));
tzset();
#ifndef DEBUG
@@ -117,12 +114,6 @@ main(int argc, /* I - Number of command-line arguments */
getrlimit(RLIMIT_CORE, &limit);
limit.rlim_cur = 0;
setrlimit(RLIMIT_CORE, &limit);
/*
* Disconnect from the controlling terminal...
*/
setsid();
#endif /* DEBUG */
/*
@@ -364,7 +355,7 @@ sigchld_handler(int sig) /* I - Signal number */
{
DEBUG_printf(("sigcld_handler: pid = %d, status = %d\n", pid, status));
if (status && status != SIGTERM)
if (status)
LogMessage(LOG_ERROR, "PID %d crashed with status %d!", pid, status);
for (job = Jobs; job != NULL; job = job->next)
+25 -200
Ver Arquivo
@@ -43,13 +43,6 @@
#include "cupsd.h"
/*
* Local functions...
*/
static void write_printcap(void);
/*
* 'AddPrinter()' - Add a printer to the system.
*/
@@ -112,12 +105,6 @@ AddPrinter(char *name) /* I - Name of printer */
p->next = current;
/*
* Write a new /etc/printcap or /var/spool/lp/pstatus file.
*/
write_printcap();
return (p);
}
@@ -209,9 +196,6 @@ DeletePrinter(printer_t *p) /* I - Printer to delete */
int i; /* Looping var */
printer_t *current, /* Current printer in list */
*prev; /* Previous printer in list */
#ifdef __sgi
char filename[1024]; /* Interface script filename */
#endif /* __sgi */
DEBUG_printf(("DeletePrinter(%08x): p->name = \"%s\"...\n", p, p->name));
@@ -263,24 +247,6 @@ DeletePrinter(printer_t *p) /* I - Printer to delete */
if (p == DefaultPrinter)
DefaultPrinter = Printers;
/*
* Write a new /etc/printcap file, and delete the dummy interface and GUI
* scripts to fool SGI's stupid printing tools.
*/
write_printcap();
#ifdef __sgi
sprintf(filename, "/var/spool/lp/interface/%s", p->name);
unlink(filename);
sprintf(filename, "/var/spool/lp/gui_interface/ELF/%s.gui", p->name);
unlink(filename);
sprintf(filename, "/var/spool/lp/activeicons/%s", p->name);
unlink(filename);
#endif /* __sgi */
}
@@ -499,20 +465,15 @@ LoadAllPrinters(void)
*/
if (strcasecmp(value, "idle") == 0)
p->state = IPP_PRINTER_IDLE;
else if (strcasecmp(value, "stopped") == 0)
p->state = IPP_PRINTER_STOPPED;
}
else if (strcmp(name, "Accepting") == 0)
{
/*
* Set the initial accepting state...
*/
if (strcasecmp(value, "yes") == 0)
{
p->state = IPP_PRINTER_IDLE;
p->accepting = 1;
else
}
else if (strcasecmp(value, "stopped") == 0)
{
p->state = IPP_PRINTER_STOPPED;
p->accepting = 0;
}
}
else
{
@@ -604,10 +565,6 @@ SaveAllPrinters(void)
fputs("State Stopped\n", fp);
else
fputs("State Idle\n", fp);
if (printer->accepting)
fputs("Accepting Yes\n", fp);
else
fputs("Accepting No\n", fp);
fputs("</Printer>\n", fp);
}
@@ -621,39 +578,34 @@ SaveAllPrinters(void)
*/
void
SetPrinterAttrs(printer_t *p) /* I - Printer to setup */
SetPrinterAttrs(printer_t *p) /* I - Printer to setup */
{
char uri[HTTP_MAX_URI]; /* URI for printer */
char method[HTTP_MAX_URI], /* Method portion of URI */
username[HTTP_MAX_URI], /* Username portion of URI */
host[HTTP_MAX_URI], /* Host portion of URI */
resource[HTTP_MAX_URI]; /* Resource portion of URI */
int port; /* Port portion of URI */
int i; /* Looping var */
char filename[1024]; /* Name of PPD file */
int num_media; /* Number of media options */
ppd_file_t *ppd; /* PPD file data */
ppd_option_t *input_slot, /* InputSlot options */
*media_type, /* MediaType options */
*page_size; /* PageSize options */
ipp_attribute_t *attr; /* Attribute data */
ipp_value_t *val; /* Attribute value */
int nups[3] = /* number-up-supported values */
char uri[HTTP_MAX_URI];/* URI for printer */
int i; /* Looping var */
char filename[1024]; /* Name of PPD file */
int num_media; /* Number of media options */
ppd_file_t *ppd; /* PPD file data */
ppd_option_t *input_slot, /* InputSlot options */
*media_type, /* MediaType options */
*page_size; /* PageSize options */
ipp_attribute_t *attr; /* Attribute data */
ipp_value_t *val; /* Attribute value */
int nups[3] = /* number-up-supported values */
{ 1, 2, 4 };
ipp_orient_t orients[4] = /* orientation-requested-supported values */
ipp_orient_t orients[4] = /* orientation-requested-supported values */
{
IPP_PORTRAIT,
IPP_LANDSCAPE,
IPP_REVERSE_LANDSCAPE,
IPP_REVERSE_PORTRAIT
};
const char *sides[3] = /* sides-supported values */
const char *sides[3] = /* sides-supported values */
{
"one",
"two-long-edge",
"two-short-edge"
};
ipp_op_t ops[] = /* operations-supported values */
ipp_op_t ops[] = /* operations-supported values */
{
IPP_PRINT_JOB,
IPP_VALIDATE_JOB,
@@ -674,7 +626,7 @@ SetPrinterAttrs(printer_t *p) /* I - Printer to setup */
CUPS_ACCEPT_JOBS,
CUPS_REJECT_JOBS
};
const char *charsets[] = /* charset-supported values */
const char *charsets[] = /* charset-supported values */
{
"us-ascii",
"iso-8859-1",
@@ -691,9 +643,6 @@ SetPrinterAttrs(printer_t *p) /* I - Printer to setup */
};
int num_finishings;
ipp_finish_t finishings[5];
#ifdef __sgi
FILE *fp; /* Interface script file */
#endif /* __sgi */
DEBUG_printf(("SetPrinterAttrs: entering name = %s, type = %x\n", p->name,
@@ -804,33 +753,11 @@ SetPrinterAttrs(printer_t *p) /* I - Printer to setup */
else
{
/*
* Add printer-specific attributes... Start by sanitizing the device
* URI so it doesn't have a username or password in it...
* Add printer-specific attributes...
*/
if (strstr(p->device_uri, "://") != NULL)
{
/*
* http://..., ipp://..., etc.
*/
httpSeparate(p->device_uri, method, username, host, &port, resource);
if (port)
sprintf(uri, "%s://%s:%d/%s", method, host, port, resource);
else
sprintf(uri, "%s://%s/%s", method, host, resource);
}
else
{
/*
* file:..., serial:..., etc.
*/
strcpy(uri, p->device_uri);
}
ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_URI, "device-uri", NULL,
uri);
p->device_uri);
/*
* Assign additional attributes from the PPD file (if any)...
@@ -990,64 +917,6 @@ SetPrinterAttrs(printer_t *p) /* I - Printer to setup */
DEBUG_printf(("SetPrinterAttrs: leaving name = %s, type = %x\n", p->name,
p->type));
#ifdef __sgi
/*
* Add dummy interface and GUI scripts to fool SGI's "challenged" printing
* tools.
*/
sprintf(filename, "/var/spool/lp/interface/%s", p->name);
if ((fp = fopen(filename, "w")) != NULL)
{
fputs("#!/bin/sh\n", fp);
if ((attr = ippFindAttribute(p->attrs, "printer-make-and-model",
IPP_TAG_TEXT)) != NULL)
fprintf(fp, "NAME=\"%s\"\n", attr->values[0].string.text);
else if (p->type & CUPS_PRINTER_CLASS)
fputs("NAME=\"Printer Class\"\n", fp);
else
fputs("NAME=\"Remote Destination\"\n", fp);
if (p->type & CUPS_PRINTER_COLOR)
fputs("TYPE=ColorPostScript\n", fp);
else
fputs("TYPE=PostScript\n", fp);
fclose(fp);
chmod(filename, 0755);
}
sprintf(filename, "/var/spool/lp/member/%s", p->name);
if ((fp = fopen(filename, "w")) != NULL)
{
fputs("/dev/null\n", fp);
fclose(fp);
chmod(filename, 0644);
}
sprintf(filename, "/var/spool/lp/gui_interface/ELF/%s.gui", p->name);
if ((fp = fopen(filename, "w")) != NULL)
{
fputs("#!/bin/sh\n", fp);
fprintf(fp, "/usr/bin/glpoptions -d %s -o \"$3\"\n", p->name);
fclose(fp);
chmod(filename, 0755);
}
sprintf(filename, "/var/spool/lp/activeicons/%s", p->name);
if ((fp = fopen(filename, "w")) != NULL)
{
fputs("#!/bin/sh\n", fp);
if (p->type & CUPS_PRINTER_COLOR)
fputs("#Tag 66240\n", fp);
else
fputs("#Tag 66208\n", fp);
fclose(fp);
chmod(filename, 0755);
}
#endif /* __sgi */
}
@@ -1161,50 +1030,6 @@ StopPrinter(printer_t *p) /* I - Printer to stop */
}
/*
* 'write_printcap()' - Write a pseudo-printcap file to /etc/printcap for
* older applications that need it...
*/
static void
write_printcap(void)
{
FILE *fp; /* printcap file */
printer_t *p; /* Current printer */
/*
* See if we have a printcap file; if not, don't bother writing it.
*/
if (access("/etc/printcap", 0))
return;
/*
* Write a new /etc/printcap with the current list of printers. Each printer
* is put in the file as:
*
* Printer1:
* Printer2:
* Printer3:
* ...
* PrinterN:
*/
if ((fp = fopen("/etc/printcap", "w")) == NULL)
return;
for (p = Printers; p != NULL; p = p->next)
fprintf(fp, "%s:\n", p->name);
/*
* Close the file...
*/
fclose(fp);
}
/*
* End of "$Id$".
*/
+1 -8
Ver Arquivo
@@ -97,14 +97,7 @@ main(int argc, /* I - Number of command-line arguments */
else
{
i ++;
if (i >= argc)
{
fputs("Error: need hostname after \'-h\' option!\n", stderr);
return (1);
}
else
http = httpConnect(argv[i], ippPort());
http = httpConnect(argv[i], ippPort());
}
if (http == NULL)
+1 -8
Ver Arquivo
@@ -131,14 +131,7 @@ main(int argc, /* I - Number of command-line arguments */
else
{
i ++;
if (i >= argc)
{
fputs("Error: need hostname after \'-h\' option!\n", stderr);
return (1);
}
else
http = httpConnect(argv[i], ippPort());
http = httpConnect(argv[i], ippPort());
}
if (http == NULL)
+1 -8
Ver Arquivo
@@ -112,14 +112,7 @@ main(int argc, /* I - Number of command-line arguments */
else
{
i ++;
if (i >= argc)
{
fputs("Error: need hostname after \'-h\' option!\n", stderr);
return (1);
}
else
http = httpConnect(argv[i], ippPort());
http = httpConnect(argv[i], ippPort());
}
if (http == NULL)