Comparar commits
315 Commits
| Autor | SHA1 | Data | |
|---|---|---|---|
| 77f938f75e | |||
| 6c78e3f887 | |||
| bc0305b0b9 | |||
| ad0357ca1d | |||
| 75b9ea1c3a | |||
| 24a8828edd | |||
| 7a712c54f8 | |||
| 3f786819c8 | |||
| 567f49cba3 | |||
| ffa2ca90d5 | |||
| 9520743f2d | |||
| bf500a5653 | |||
| a782e5574a | |||
| c606bcae4e | |||
| 83385e2997 | |||
| 8a78aa3778 | |||
| 94446c2699 | |||
| 7374e9e5d4 | |||
| d48a10026a | |||
| 9c0e8e5d83 | |||
| d1f0f86b73 | |||
| 7bf181980c | |||
| 223bdaa186 | |||
| 25f3e1eef0 | |||
| ad29aeab8c | |||
| 7e5023ddea | |||
| b63a0d90da | |||
| 5489ad4342 | |||
| 3699c6372c | |||
| d680d3826c | |||
| e666fe5e38 | |||
| ff862e509f | |||
| 71f294cef9 | |||
| 56cd8959f0 | |||
| 94b4b4a07d | |||
| e5528d423b | |||
| b34254bcf1 | |||
| 4875b2f3f6 | |||
| 83f65dd609 | |||
| e4e5666b10 | |||
| 2d0a0f48e7 | |||
| 70752071b3 | |||
| a505eef406 | |||
| 4174320042 | |||
| c4aa297584 | |||
| 4ffc419764 | |||
| 766a822957 | |||
| 69518a8578 | |||
| bac0799207 | |||
| 26340b35e8 | |||
| 1bc82dd928 | |||
| 21f36711d9 | |||
| 0687ea6984 | |||
| f2d18633e2 | |||
| 23ef1cac65 | |||
| 86c809d99c | |||
| 4fcfa0cf96 | |||
| ee8d237de0 | |||
| 06399b6e0d | |||
| 890a10b7de | |||
| 1d47b929b0 | |||
| 9475ec92d8 | |||
| 2a241c9efc | |||
| 90c6ec2104 | |||
| a8109fbe78 | |||
| 94436c5a61 | |||
| 6961465fb2 | |||
| cb7f98ee7f | |||
| c5b24bfa98 | |||
| db8b865d20 | |||
| 0cb67df369 | |||
| 0fa6c7fa54 | |||
| c1420c8744 | |||
| c41769ffd0 | |||
| a469f8a576 | |||
| 76aa1ac14c | |||
| 3dd9c34058 | |||
| 5a9febac19 | |||
| 37e7e6e0b2 | |||
| a29fd7ddb5 | |||
| f3c17241a4 | |||
| 271780fb87 | |||
| 82cc1f9ac3 | |||
| 3e7fe0ca76 | |||
| bb0d23b21b | |||
| 3ee4274c97 | |||
| 12f89d241c | |||
| dcb445bcf3 | |||
| 9c80ffa289 | |||
| a2326b5b72 | |||
| d7225fc298 | |||
| 9b66acc599 | |||
| 10ddcf65af | |||
| 83e0800111 | |||
| 85dda01c84 | |||
| a48458814a | |||
| 771bd8cbff | |||
| bd8b6777d6 | |||
| f99f369831 | |||
| d4d033982c | |||
| f228370c3f | |||
| 88f9aafc49 | |||
| 321d8d57da | |||
| eac3a0a01b | |||
| 22c9029b44 | |||
| 07ed0e9a43 | |||
| 84315f460a | |||
| 82f972324d | |||
| 31db8dedac | |||
| f14324a792 | |||
| c8fef167ba | |||
| e60ec91f3e | |||
| 515b46cde4 | |||
| 0268488e2f | |||
| c779abb06a | |||
| 229681c188 | |||
| 0837b7e828 | |||
| 1106b00e75 | |||
| 10d09e334a | |||
| 6c48a6cafc | |||
| 7cf5915ead | |||
| 030ae6a14e | |||
| 4220952d4d | |||
| c7017eccd2 | |||
| cc75483441 | |||
| 6d2f911bdd | |||
| 39ff2fe72b | |||
| aaf19ab07e | |||
| e2d18a01cc | |||
| 5180a04ce8 | |||
| 61e2aeb0be | |||
| a480a1b6b4 | |||
| 71e160228f | |||
| 54afec3350 | |||
| ba55dc12de | |||
| 5a6b583acf | |||
| f8b3a85b79 | |||
| 4168188389 | |||
| 5a662dc060 | |||
| ef55b74533 | |||
| 3fb9c47ea6 | |||
| 101decd054 | |||
| 4d301e694f | |||
| b226ab9913 | |||
| 18ecb42821 | |||
| 7a0cbd5e57 | |||
| ee6ddad257 | |||
| 4a4b4f9914 | |||
| f701418f7b | |||
| 60198c6dba | |||
| e38f5e9c4d | |||
| 85b5d1dfa7 | |||
| 4e6f60f000 | |||
| acb056cb17 | |||
| 97c9a8d722 | |||
| 393ac6abae | |||
| b0f6947b4d | |||
| 68b10830fa | |||
| 536bc2c652 | |||
| 6c663ae27a | |||
| 178cb7369d | |||
| f11a948a02 | |||
| e07d4801f9 | |||
| 38e73f8781 | |||
| 94da7e344c | |||
| 238c383265 | |||
| 8b116e6004 | |||
| 9aff70cc17 | |||
| d7871c8c7f | |||
| 1340db2dab | |||
| b9faaae17c | |||
| ede613e028 | |||
| f0ab5bff8a | |||
| bf3816c7ed | |||
| 745129beeb | |||
| dfd5680b87 | |||
| d1c13e1686 | |||
| d2354e6397 | |||
| c168a833ca | |||
| 557dde9fbc | |||
| 426c6a5959 | |||
| 8b450588f4 | |||
| ed6e7faf3e | |||
| 52f6f666c3 | |||
| 9380acaa78 | |||
| 4b3f67ff4c | |||
| e6013cfab0 | |||
| e4572d571c | |||
| 28b9d139c0 | |||
| 6e8b116d7f | |||
| 758a062feb | |||
| 02797ade68 | |||
| 61cf44e2b7 | |||
| 076fd0e4fb | |||
| 58dc193312 | |||
| f2245c695c | |||
| cda47a960f | |||
| 1f6f3dbcf9 | |||
| 0af14961a8 | |||
| b19ccc9e27 | |||
| 49d8745278 | |||
| c5571a1d68 | |||
| 9a4f8274e9 | |||
| 5f64df2982 | |||
| 247efae55f | |||
| 06d4e77b9b | |||
| 1ff0402e47 | |||
| 9f5eb9be66 | |||
| ee571f261a | |||
| 749b1e90a8 | |||
| 005dd1eb9e | |||
| 5d6412a9f1 | |||
| e78998dfeb | |||
| 66ab9486ef | |||
| 1f0275e3cc | |||
| 4509bb4933 | |||
| 75bd9771f6 | |||
| dd1abb6b5f | |||
| c934a06cde | |||
| 79e1d494ec | |||
| 8922323b9f | |||
| bdd6c45b5e | |||
| 20fbc90347 | |||
| 47879b8b63 | |||
| 5eb9da713f | |||
| 01ce6322ca | |||
| 3c8c76971a | |||
| c9fc04c6ec | |||
| 969307f096 | |||
| a0f6818ebf | |||
| d8bcaa3c4c | |||
| 7a14d7682b | |||
| a4f1b3dff2 | |||
| 634763e80e | |||
| 3dfe78b336 | |||
| ae71f5deb4 | |||
| 839a51c83c | |||
| 50fe720154 | |||
| db0bd74adb | |||
| 64a69576c8 | |||
| a603edef72 | |||
| 568fa3faf1 | |||
| d6943d1d31 | |||
| ac884b6a1c | |||
| 5a738aeaea | |||
| d9bca400be | |||
| 5bd77a735f | |||
| 91c84a3551 | |||
| 080811b190 | |||
| 3d052e4330 | |||
| a4924f6c45 | |||
| 0a6827453a | |||
| a41f09e265 | |||
| e94d2f1068 | |||
| 2fb7629816 | |||
| cc9a7e967e | |||
| 65a152d3f1 | |||
| 183ee7626a | |||
| 2e4ff8afcb | |||
| 56ab62c60c | |||
| 7dfedb921d | |||
| c277e2f802 | |||
| db1f069b7f | |||
| 76cd9e37aa | |||
| 7ff4fea9bc | |||
| c24d21342f | |||
| 355e94dc85 | |||
| cc0d019f5e | |||
| bc44d92092 | |||
| 09a101d671 | |||
| 3d8365b8dc | |||
| b94498cfba | |||
| 323c5de1e8 | |||
| c0e1af835b | |||
| f42414bf8a | |||
| f899b12170 | |||
| 7594b2247b | |||
| f7deaa1a21 | |||
| b86bc4cf57 | |||
| 411affcf6a | |||
| 26d47ec688 | |||
| 2abf387cae | |||
| 07725fee41 | |||
| d09495fadd | |||
| 8ca02f3c05 | |||
| f7faf1f5c3 | |||
| c07d5b2daf | |||
| ed48691112 | |||
| 9e22304f01 | |||
| 7a6a01ddca | |||
| 3608048605 | |||
| f301802fc2 | |||
| a9252913e7 | |||
| a74454a757 | |||
| 89d46774ee | |||
| e53920b922 | |||
| d6ae789d92 | |||
| 80ca45929e | |||
| e1d6a77454 | |||
| 480ef0fe29 | |||
| 757d2cad8f | |||
| 4744bd907e | |||
| b423cd4cb9 | |||
| ecdc06282a | |||
| bd7854cb4d | |||
| 4400e98de2 | |||
| e00b005a05 | |||
| ffb6300882 | |||
| a4d045870e | |||
| 09ec001812 | |||
| 923edb689d | |||
| fa73b22906 | |||
| 4a09f02d10 | |||
| ef416fc25c | |||
| 9ec11526e1 |
@@ -5,6 +5,24 @@ CHANGES IN CUPS V1.6.3
|
||||
|
||||
- The configure script now prefers Clang over GCC.
|
||||
- Fixed a compile problem on AIX (STR #4307)
|
||||
- The default IPP version did not always get set before creating a new
|
||||
IPP request message (<rdar://problem/14401718>)
|
||||
- The lp, lpq, lpr, and lpstat now display an error message advising the
|
||||
use of the /version=1.1 ServerName option (<rdar://problem/14290628>)
|
||||
- Added documentation about the /version=1.1 option to ServerName in
|
||||
client.conf (<rdar://problem/14216262>)
|
||||
- httpStatus(HTTP_ERROR) did not return a useful error message
|
||||
(<rdar://problem/14217326>)
|
||||
- The lp, lpq, lpr, and lpstat commands incorrectly ignored the default
|
||||
printer set in the lpoptions file (<rdar://problem/14216472>)
|
||||
- Fixed a URI encoding issue for hostnames containing the ` (backquote)
|
||||
character (<rdar://problem/14243133>)
|
||||
- Added support for RFC 6874's IPv6 link local address format in URIs
|
||||
(<rdar://problem/13979453>)
|
||||
- The USB backend could crash on libusb-based systems if USB was
|
||||
disabled in the BIOS (<rdar://problem/13875729>)
|
||||
- Fixed a rounding error in the PWG media size mapping code
|
||||
(<rdar://problem/13493241>)
|
||||
- Fixed several ipptool test files that used old STATUS names.
|
||||
- Kerberos credentials could get truncated when printing to a shared
|
||||
printer.
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
CHANGES-IPPTOOL.txt - 2013-05-02
|
||||
CHANGES-IPPTOOL.txt - 2013-07-08
|
||||
--------------------------------
|
||||
|
||||
This file provides a list of changes to the ipptool binary distribution posted
|
||||
on cups.org.
|
||||
|
||||
2013-05-02
|
||||
2013-07-08
|
||||
|
||||
- New ippfind tool now included with ipptool.
|
||||
- Added support for automatically extending the timeout when all of the
|
||||
request data has not yet been written (all platforms but Windows
|
||||
which does not support it...)
|
||||
- Fixed several ipptool test files that used old STATUS names.
|
||||
|
||||
|
||||
|
||||
+28
-2
@@ -1,5 +1,31 @@
|
||||
CHANGES.txt - 1.7b1 - 2013-04-18
|
||||
--------------------------------
|
||||
CHANGES.txt - 1.7rc1 - 2013-07-10
|
||||
---------------------------------
|
||||
|
||||
CHANGES IN CUPS V1.7rc1
|
||||
|
||||
- Printer xxx-default values were not reported by Get-Printer-Attributes
|
||||
or lpoptions (<rdar://problem/14401795>)
|
||||
- Fixed deprecation warnings for many functions on OS X so they are tied
|
||||
to the deployment version when building (<rdar://problem/14210079>)
|
||||
- Fixed a build issue on ARM-based Linux systems - unable to validate
|
||||
va_list arguments.
|
||||
- Added a new ippfind tool for finding IPP printers and other Bonjour
|
||||
services (<rdar://problem/13876199>)
|
||||
- Fixed some issues with conversion of PWG media size names to
|
||||
hundredths of millimeters (<rdar://problem/14065748>)
|
||||
- The IPP backend could crash on OS X when printing to a Kerberized
|
||||
printer (<rdar://problem/14040186>)
|
||||
- The ipptool program now automatically extends timeouts when the
|
||||
output buffer is filled (<rdar://problem/14016099>)
|
||||
- The ipptool program now supports the --help and --version options.
|
||||
- The ipptool program did not continue past include file errors by
|
||||
default (<rdar://problem/13875803>)
|
||||
- The ipptool program now supports FILE-ID and TEST-ID directives and
|
||||
includes their values in its XML output (<rdar://problem/13876038>)
|
||||
- The ipptool program now supports WITH-HOSTNAME, WITH-RESOURCE, and
|
||||
WITH-SCHEME expect predicates to compare the corresponding URI
|
||||
components (<rdar://problem/13876091>)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.7b1
|
||||
|
||||
|
||||
+5
-6
@@ -1,5 +1,5 @@
|
||||
INSTALL - CUPS v1.7b1 - 2013-04-18
|
||||
----------------------------------
|
||||
INSTALL - CUPS v1.7rc1 - 2013-07-08
|
||||
-----------------------------------
|
||||
|
||||
This file describes how to compile and install CUPS from source code. For more
|
||||
information on CUPS see the file called "README.txt". A complete change log can
|
||||
@@ -147,7 +147,7 @@ INSTALLING THE SOFTWARE
|
||||
|
||||
The EPM software is available at:
|
||||
|
||||
http://www.epmhome.org/
|
||||
http://www.msweet.org/
|
||||
|
||||
|
||||
CREATING BINARY DISTRIBUTIONS WITH EPM
|
||||
@@ -197,10 +197,9 @@ GETTING DEBUG LOGGING FROM CUPS
|
||||
REPORTING PROBLEMS
|
||||
|
||||
If you have problems, READ THE DOCUMENTATION FIRST! If the documentation
|
||||
does not solve your problems, please post a message on the "cups.general"
|
||||
forum at:
|
||||
does not solve your problems, please post a message on the users forum at:
|
||||
|
||||
http://www.cups.org/newsgroups.php
|
||||
http://www.cups.org/
|
||||
|
||||
Include your operating system and version, compiler and version, and any
|
||||
errors or problems you've run into. The "config.log" file and the output
|
||||
|
||||
+52
-29
@@ -1,4 +1,4 @@
|
||||
IPPTOOL.txt - 2013-05-02
|
||||
IPPTOOL.txt - 2013-07-08
|
||||
------------------------
|
||||
|
||||
See the file CHANGES-IPPTOOL.txt for a list of changes to this software.
|
||||
@@ -6,14 +6,46 @@ See the file CHANGES-IPPTOOL.txt for a list of changes to this software.
|
||||
|
||||
INTRODUCTION
|
||||
|
||||
CUPS includes a user program called ipptool that can be used to send
|
||||
arbitrary IPP requests to a CUPS server or IPP printer. This tool started
|
||||
life as part of the CUPS automated test suite and has grown to support
|
||||
complex conformance tests and a simple way to query printer, job, and
|
||||
subscription attributes.
|
||||
CUPS includes two user programs for IPP printers. The first is called
|
||||
ipptool and can be used to send arbitrary IPP requests to a CUPS server or
|
||||
IPP printer. This tool started life as part of the CUPS automated test
|
||||
suite and has grown to support complex conformance tests and a simple way
|
||||
to query printer, job, and subscription attributes.
|
||||
|
||||
The second program called ippfind that can be used to find IPP printers
|
||||
that have registered themselves using Bonjour (DNS-SD, mDNS, and Zeroconf)
|
||||
and run commands such as ipptool.
|
||||
|
||||
|
||||
BASIC USAGE
|
||||
READING THE DOCUMENTATION
|
||||
|
||||
Full documentation on the ipptool command can be found in the
|
||||
"man-ipptool.html" and "man-ipptoolfile.html" files; the latter describes
|
||||
the test file format supported by ipptool.
|
||||
|
||||
Full documentation on the ippfind command can be found in the
|
||||
"man-ippfind.html" file.
|
||||
|
||||
|
||||
IPPFIND BASIC USAGE
|
||||
|
||||
The ippfind command can be used to discover IPP printers on your network.
|
||||
For example, the following command prints the printer URI of registered IPP
|
||||
printers:
|
||||
|
||||
ippfind
|
||||
|
||||
To find all color IPP printers, run:
|
||||
|
||||
ippfind --txt-color T
|
||||
|
||||
And to run the IPP Everywhere conformance test file on every registered IPP
|
||||
printer, run the following command:
|
||||
|
||||
ippfind _ipp._tcp,_print --exec ipptool -t '{}' ipp-everywhere.test \;
|
||||
|
||||
|
||||
IPPTOOL BASIC USAGE
|
||||
|
||||
The ipptool command requires a printer URI and one or more "test" files that
|
||||
describe the operations, attributes to display, and expected status and
|
||||
@@ -151,37 +183,28 @@ IPP EVERYWHERE TESTING
|
||||
372 pages including the 90 pages produced by the regular IPP test suite.
|
||||
|
||||
|
||||
READING THE DOCUMENTATION
|
||||
|
||||
The command usage is described in the ipptest(1) man page, while the file
|
||||
format is described in the ipptestfile(5) man page. Both are provided in
|
||||
HTML format with the standalone releases of ipptool.
|
||||
|
||||
|
||||
GETTING SUPPORT AND OTHER RESOURCES
|
||||
|
||||
If you have problems, READ THE DOCUMENTATION FIRST! We also provide many
|
||||
If you have problems, READ THE DOCUMENTATION FIRST! We also provide
|
||||
discussion forums which are available at:
|
||||
|
||||
http://www.cups.org/newsgroups.php
|
||||
|
||||
See the CUPS web site at "http://www.cups.org/" for other resources.
|
||||
http://www.cups.org/
|
||||
|
||||
|
||||
REPORTING BUGS
|
||||
|
||||
If you believe you have discovered a bug in ipptool, please fill out the
|
||||
bug form at:
|
||||
If you believe you have discovered a bug in ippfind or ipptool, please fill
|
||||
out the bug form at:
|
||||
|
||||
http://www.cups.org/str.php
|
||||
|
||||
Be sure to identify the version of CUPS and ipptool (if you downloaded the
|
||||
standalone version) you are using, the printer (if any) and firmware
|
||||
version, and include any files that apply.
|
||||
Be sure to identify the version of CUPS and ippfind/ipptool (if you
|
||||
downloaded the standalone version) you are using, the printer (if any) and
|
||||
firmware version, and include any files that apply.
|
||||
|
||||
If you downloaded the standalone version of ipptool, please also re-run the
|
||||
test with debug logging enabled. Run the following commands on Windows to
|
||||
enable debug logging:
|
||||
If you downloaded the standalone version of ippfind/ipptool, please also
|
||||
re-run the command with debug logging enabled. Run the following commands
|
||||
on Windows to enable debug logging:
|
||||
|
||||
setdebug.bat
|
||||
|
||||
@@ -190,9 +213,9 @@ REPORTING BUGS
|
||||
CUPS_DEBUG_LOG=ipptool.log; export CUPS_DEBUG_LOG
|
||||
CUPS_DEBUG_LEVEL=6; export CUPS_DEBUG_LEVEL
|
||||
|
||||
Then when you run the ipptool command a new "ipptool.log" file will be
|
||||
created with detailed information - attach this file to the bug you file
|
||||
as well.
|
||||
Then when you run the ippfind or ipptool command a new "ipptool.log" file
|
||||
will be created with detailed information - attach this file to the bug you
|
||||
file as well.
|
||||
|
||||
|
||||
LEGAL STUFF
|
||||
|
||||
@@ -138,6 +138,8 @@ DNSSD_BACKEND = @DNSSD_BACKEND@
|
||||
DSOFLAGS = -L../cups @DSOFLAGS@
|
||||
DSOLIBS = @DSOLIBS@ $(COMMONLIBS)
|
||||
DNSSDLIBS = @DNSSDLIBS@
|
||||
IPPFIND_BIN = @IPPFIND_BIN@
|
||||
IPPFIND_MAN = @IPPFIND_MAN@
|
||||
LAUNCHDLIBS = @LAUNCHDLIBS@
|
||||
LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \
|
||||
-L../scheduler @LDARCHFLAGS@ \
|
||||
|
||||
+4
-4
@@ -3,7 +3,7 @@
|
||||
#
|
||||
# Top-level Makefile for CUPS.
|
||||
#
|
||||
# Copyright 2007-2012 by Apple Inc.
|
||||
# Copyright 2007-2013 by Apple Inc.
|
||||
# Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
@@ -242,7 +242,7 @@ debugcheck: all unittests
|
||||
|
||||
|
||||
#
|
||||
# Create HTML documentation...
|
||||
# Create HTML documentation using Mini-XML's mxmldoc (http://www.msweet.org/)...
|
||||
#
|
||||
|
||||
apihelp:
|
||||
@@ -259,7 +259,7 @@ framedhelp:
|
||||
|
||||
|
||||
#
|
||||
# Create an Xcode docset...
|
||||
# Create an Xcode docset using Mini-XML's mxmldoc (http://www.msweet.org/)...
|
||||
#
|
||||
|
||||
docset: apihelp
|
||||
@@ -295,7 +295,7 @@ sloc:
|
||||
|
||||
|
||||
#
|
||||
# Make software distributions using EPM (http://www.epmhome.org/)...
|
||||
# Make software distributions using EPM (http://www.msweet.org/)...
|
||||
#
|
||||
|
||||
EPMFLAGS = -v --output-dir dist $(EPMARCH)
|
||||
|
||||
+9
-9
@@ -1,13 +1,13 @@
|
||||
README - CUPS v1.7b1 - 2013-04-18
|
||||
---------------------------------
|
||||
README - CUPS v1.7rc1 - 2013-07-08
|
||||
----------------------------------
|
||||
|
||||
************************************************
|
||||
************************************************
|
||||
**** ****
|
||||
**** BETA SOFTWARE - USE AT YOUR OWN RISK ****
|
||||
**** ****
|
||||
************************************************
|
||||
************************************************
|
||||
*******************************************************
|
||||
*******************************************************
|
||||
**** ****
|
||||
**** PRE-RELEASE SOFTWARE - USE AT YOUR OWN RISK ****
|
||||
**** ****
|
||||
*******************************************************
|
||||
*******************************************************
|
||||
|
||||
Looking for compile instructions? Read the file "INSTALL.txt" instead...
|
||||
|
||||
|
||||
+22
-12
@@ -366,7 +366,8 @@ main(int argc, /* I - Number of command-line args */
|
||||
* that way.
|
||||
*/
|
||||
|
||||
if (!getuid() && (value = getenv("AUTH_UID")) != NULL)
|
||||
if (!getuid() && (value = getenv("AUTH_UID")) != NULL &&
|
||||
!getenv("AUTH_PASSWORD"))
|
||||
{
|
||||
uid_t uid = (uid_t)atoi(value);
|
||||
/* User ID */
|
||||
@@ -2601,17 +2602,27 @@ new_request(
|
||||
"job-password-encryption", NULL, keyword);
|
||||
}
|
||||
|
||||
if (pc->account_id &&
|
||||
(keyword = cupsGetOption("job-account-id", num_options,
|
||||
options)) != NULL)
|
||||
ippAddString(request, IPP_TAG_JOB, IPP_TAG_NAME, "job-account-id",
|
||||
NULL, keyword);
|
||||
if (pc->account_id)
|
||||
{
|
||||
if ((keyword = cupsGetOption("job-account-id", num_options,
|
||||
options)) == NULL)
|
||||
keyword = cupsGetOption("job-billing", num_options, options);
|
||||
|
||||
if (pc->accounting_user_id &&
|
||||
(keyword = cupsGetOption("job-accounting-user-id", num_options,
|
||||
options)) != NULL)
|
||||
ippAddString(request, IPP_TAG_JOB, IPP_TAG_NAME,
|
||||
"job-accounting-user-id", NULL, keyword);
|
||||
if (keyword)
|
||||
ippAddString(request, IPP_TAG_JOB, IPP_TAG_NAME, "job-account-id",
|
||||
NULL, keyword);
|
||||
}
|
||||
|
||||
if (pc->accounting_user_id)
|
||||
{
|
||||
if ((keyword = cupsGetOption("job-accounting-user-id", num_options,
|
||||
options)) == NULL)
|
||||
keyword = user;
|
||||
|
||||
if (keyword)
|
||||
ippAddString(request, IPP_TAG_JOB, IPP_TAG_NAME,
|
||||
"job-accounting-user-id", NULL, keyword);
|
||||
}
|
||||
|
||||
for (mandatory = (char *)cupsArrayFirst(pc->mandatory);
|
||||
mandatory;
|
||||
@@ -3403,7 +3414,6 @@ run_as_user(char *argv[], /* I - Command-line arguments */
|
||||
|
||||
if (conn)
|
||||
{
|
||||
xpc_connection_suspend(conn);
|
||||
xpc_connection_cancel(conn);
|
||||
xpc_release(conn);
|
||||
}
|
||||
|
||||
Arquivo executável → Arquivo normal
+12
-3
@@ -899,7 +899,8 @@ find_device(usb_cb_t cb, /* I - Callback function */
|
||||
/* Pointer to current alternate setting */
|
||||
const struct libusb_endpoint_descriptor *endpptr = NULL;
|
||||
/* Pointer to current endpoint */
|
||||
ssize_t numdevs, /* number of connected devices */
|
||||
ssize_t err = 0, /* Error code */
|
||||
numdevs, /* number of connected devices */
|
||||
i = 0;
|
||||
uint8_t conf, /* Current configuration */
|
||||
iface, /* Current interface */
|
||||
@@ -918,7 +919,14 @@ find_device(usb_cb_t cb, /* I - Callback function */
|
||||
* Initialize libusb...
|
||||
*/
|
||||
|
||||
libusb_init(NULL);
|
||||
err = libusb_init(NULL);
|
||||
if (err)
|
||||
{
|
||||
fprintf(stderr, "DEBUG: Unable to initialize USB access via libusb, "
|
||||
"libusb error %i\n", err);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
numdevs = libusb_get_device_list(NULL, &list);
|
||||
fprintf(stderr, "DEBUG: libusb_get_device_list=%d\n", (int)numdevs);
|
||||
|
||||
@@ -1088,7 +1096,8 @@ find_device(usb_cb_t cb, /* I - Callback function */
|
||||
* Clean up ....
|
||||
*/
|
||||
|
||||
libusb_free_device_list(list, 1);
|
||||
if (numdevs >= 0)
|
||||
libusb_free_device_list(list, 1);
|
||||
libusb_exit(NULL);
|
||||
|
||||
return (NULL);
|
||||
|
||||
+24
-23
@@ -3,7 +3,7 @@
|
||||
*
|
||||
* "lpq" command for CUPS.
|
||||
*
|
||||
* Copyright 2007-2012 by Apple Inc.
|
||||
* Copyright 2007-2013 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
@@ -60,8 +60,7 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
all, /* All printers */
|
||||
interval, /* Reporting interval */
|
||||
longstatus; /* Show file details */
|
||||
int num_dests; /* Number of destinations */
|
||||
cups_dest_t *dests; /* Destinations */
|
||||
cups_dest_t *named_dest; /* Named destination */
|
||||
|
||||
|
||||
_cupsSetLocale(argv);
|
||||
@@ -77,8 +76,6 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
interval = 0;
|
||||
longstatus = 0;
|
||||
all = 0;
|
||||
num_dests = 0;
|
||||
dests = NULL;
|
||||
|
||||
for (i = 1; i < argc; i ++)
|
||||
if (argv[i][0] == '+')
|
||||
@@ -127,7 +124,6 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
if (i >= argc)
|
||||
{
|
||||
httpClose(http);
|
||||
cupsFreeDests(num_dests, dests);
|
||||
|
||||
usage();
|
||||
}
|
||||
@@ -140,12 +136,14 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
|
||||
http = connect_server(argv[0], http);
|
||||
|
||||
if (num_dests == 0)
|
||||
num_dests = cupsGetDests2(http, &dests);
|
||||
|
||||
if (cupsGetDest(dest, instance, num_dests, dests) == NULL)
|
||||
if ((named_dest = cupsGetNamedDest(http, dest, instance)) == NULL)
|
||||
{
|
||||
if (instance)
|
||||
if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
|
||||
cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
|
||||
_cupsLangPrintf(stderr,
|
||||
_("%s: Error - add '/version=1.1' to server "
|
||||
"name."), argv[0]);
|
||||
else if (instance)
|
||||
_cupsLangPrintf(stderr,
|
||||
_("%s: Error - unknown destination \"%s/%s\"."),
|
||||
argv[0], dest, instance);
|
||||
@@ -155,6 +153,8 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
|
||||
return (1);
|
||||
}
|
||||
|
||||
cupsFreeDests(1, named_dest);
|
||||
break;
|
||||
|
||||
case 'a' : /* All printers */
|
||||
@@ -192,7 +192,6 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
|
||||
default :
|
||||
httpClose(http);
|
||||
cupsFreeDests(num_dests, dests);
|
||||
|
||||
usage();
|
||||
break;
|
||||
@@ -207,15 +206,17 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
|
||||
if (dest == NULL && !all)
|
||||
{
|
||||
if (num_dests == 0)
|
||||
num_dests = cupsGetDests2(http, &dests);
|
||||
|
||||
for (i = 0; i < num_dests; i ++)
|
||||
if (dests[i].is_default)
|
||||
dest = dests[i].name;
|
||||
|
||||
if (dest == NULL)
|
||||
if ((named_dest = cupsGetNamedDest(http, NULL, NULL)) == NULL)
|
||||
{
|
||||
if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
|
||||
cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
|
||||
{
|
||||
_cupsLangPrintf(stderr,
|
||||
_("%s: Error - add '/version=1.1' to server name."),
|
||||
argv[0]);
|
||||
return (1);
|
||||
}
|
||||
|
||||
val = NULL;
|
||||
|
||||
if ((dest = getenv("LPDEST")) == NULL)
|
||||
@@ -231,7 +232,7 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
else
|
||||
val = "LPDEST";
|
||||
|
||||
if (dest && !cupsGetDest(dest, NULL, num_dests, dests))
|
||||
if (dest && val)
|
||||
_cupsLangPrintf(stderr,
|
||||
_("%s: Error - %s environment variable names "
|
||||
"non-existent destination \"%s\"."), argv[0], val,
|
||||
@@ -241,9 +242,10 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
_("%s: Error - no default destination available."),
|
||||
argv[0]);
|
||||
httpClose(http);
|
||||
cupsFreeDests(num_dests, dests);
|
||||
return (1);
|
||||
}
|
||||
|
||||
dest = named_dest->name;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -270,7 +272,6 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
* Close the connection to the server and return...
|
||||
*/
|
||||
|
||||
cupsFreeDests(num_dests, dests);
|
||||
httpClose(http);
|
||||
|
||||
return (0);
|
||||
|
||||
+19
-1
@@ -3,7 +3,7 @@
|
||||
*
|
||||
* "lpr" command for CUPS.
|
||||
*
|
||||
* Copyright 2007-2012 by Apple Inc.
|
||||
* Copyright 2007-2013 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
@@ -61,6 +61,7 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
|
||||
for (i = 1; i < argc; i ++)
|
||||
if (argv[i][0] == '-')
|
||||
{
|
||||
switch (ch = argv[i][1])
|
||||
{
|
||||
case 'E' : /* Encrypt */
|
||||
@@ -226,6 +227,14 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
dest->options[j].value,
|
||||
num_options, &options);
|
||||
}
|
||||
else if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
|
||||
cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
|
||||
{
|
||||
_cupsLangPrintf(stderr,
|
||||
_("%s: Error - add '/version=1.1' to server "
|
||||
"name."), argv[0]);
|
||||
return (1);
|
||||
}
|
||||
break;
|
||||
|
||||
case '#' : /* Number of copies */
|
||||
@@ -275,6 +284,7 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
argv[i][1]);
|
||||
return (1);
|
||||
}
|
||||
}
|
||||
else if (num_files < 1000)
|
||||
{
|
||||
/*
|
||||
@@ -320,6 +330,14 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
dest->options[j].value,
|
||||
num_options, &options);
|
||||
}
|
||||
else if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
|
||||
cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
|
||||
{
|
||||
_cupsLangPrintf(stderr,
|
||||
_("%s: Error - add '/version=1.1' to server "
|
||||
"name."), argv[0]);
|
||||
return (1);
|
||||
}
|
||||
}
|
||||
|
||||
if (printer == NULL)
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id$"
|
||||
# "$Id: mime.types 7670 2008-06-17 22:42:08Z mike $"
|
||||
#
|
||||
# Base MIME types file for CUPS.
|
||||
#
|
||||
@@ -170,5 +170,5 @@ application/vnd.cups-raw (string(0,<1B>E) + !string(2,<1B>%0B)) \
|
||||
application/octet-stream
|
||||
|
||||
#
|
||||
# End of "$Id$".
|
||||
# End of "$Id: mime.types 7670 2008-06-17 22:42:08Z mike $".
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-common.m4 8781 2009-08-28 17:34:54Z mike $"
|
||||
dnl
|
||||
dnl Common configuration stuff for CUPS.
|
||||
dnl
|
||||
@@ -20,7 +20,7 @@ dnl Set the name of the config header file...
|
||||
AC_CONFIG_HEADER(config.h)
|
||||
|
||||
dnl Version number information...
|
||||
CUPS_VERSION="1.7b1"
|
||||
CUPS_VERSION="1.7rc1"
|
||||
CUPS_REVISION=""
|
||||
#if test -z "$CUPS_REVISION" -a -d .svn; then
|
||||
# CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
|
||||
@@ -459,5 +459,5 @@ esac
|
||||
AC_SUBST(BUILDDIRS)
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-common.m4 8781 2009-08-28 17:34:54Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-compiler.m4 7871 2008-08-27 21:12:43Z mike $"
|
||||
dnl
|
||||
dnl Compiler stuff for CUPS.
|
||||
dnl
|
||||
@@ -291,5 +291,5 @@ case $uname in
|
||||
esac
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-compiler.m4 7871 2008-08-27 21:12:43Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-defaults.m4 7959 2008-09-17 19:30:58Z mike $"
|
||||
dnl
|
||||
dnl Default cupsd configuration settings for CUPS.
|
||||
dnl
|
||||
@@ -400,5 +400,5 @@ AC_SUBST(CUPS_WEBIF)
|
||||
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_WEBIF, $CUPS_DEFAULT_WEBIF)
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-defaults.m4 7959 2008-09-17 19:30:58Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-directories.m4 7799 2008-07-25 20:06:08Z mike $"
|
||||
dnl
|
||||
dnl Directory stuff for CUPS.
|
||||
dnl
|
||||
@@ -427,5 +427,5 @@ AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$CUPS_STATEDIR")
|
||||
AC_SUBST(CUPS_STATEDIR)
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-directories.m4 7799 2008-07-25 20:06:08Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-dnssd.m4 7890 2008-08-29 22:19:39Z mike $"
|
||||
dnl
|
||||
dnl DNS Service Discovery (aka Bonjour) stuff for CUPS.
|
||||
dnl
|
||||
@@ -23,6 +23,8 @@ AC_ARG_WITH(dnssd-includes, [ --with-dnssd-includes set directory for DNS Ser
|
||||
|
||||
DNSSDLIBS=""
|
||||
DNSSD_BACKEND=""
|
||||
IPPFIND_BIN=""
|
||||
IPPFIND_MAN=""
|
||||
|
||||
if test "x$PKGCONFIG" != x -a x$enable_avahi != xno; then
|
||||
AC_MSG_CHECKING(for Avahi)
|
||||
@@ -31,6 +33,8 @@ if test "x$PKGCONFIG" != x -a x$enable_avahi != xno; then
|
||||
CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`"
|
||||
DNSSDLIBS="`$PKGCONFIG --libs avahi-client`"
|
||||
DNSSD_BACKEND="dnssd"
|
||||
IPPFIND_BIN="ippfind"
|
||||
IPPFIND_MAN="ippfind.\$(MAN1EXT)"
|
||||
AC_DEFINE(HAVE_AVAHI)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
@@ -45,6 +49,8 @@ if test "x$DNSSD_BACKEND" = x -a x$enable_dnssd != xno; then
|
||||
AC_DEFINE(HAVE_DNSSD)
|
||||
DNSSDLIBS="-framework CoreFoundation -framework SystemConfiguration"
|
||||
DNSSD_BACKEND="dnssd"
|
||||
IPPFIND_BIN="ippfind"
|
||||
IPPFIND_MAN="ippfind.\$(MAN1EXT)"
|
||||
;;
|
||||
*)
|
||||
# All others...
|
||||
@@ -61,6 +67,8 @@ if test "x$DNSSD_BACKEND" = x -a x$enable_dnssd != xno; then
|
||||
AC_DEFINE(HAVE_DNSSD)
|
||||
DNSSDLIBS="-ldns_sd"
|
||||
DNSSD_BACKEND="dnssd",
|
||||
IPPFIND_BIN="ippfind"
|
||||
IPPFIND_MAN="ippfind.\$(MAN1EXT)"
|
||||
AC_MSG_RESULT(no))
|
||||
LIBS="$SAVELIBS"
|
||||
;;
|
||||
@@ -70,7 +78,9 @@ fi
|
||||
|
||||
AC_SUBST(DNSSDLIBS)
|
||||
AC_SUBST(DNSSD_BACKEND)
|
||||
AC_SUBST(IPPFIND_BIN)
|
||||
AC_SUBST(IPPFIND_MAN)
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-dnssd.m4 7890 2008-08-29 22:19:39Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-largefile.m4 6649 2007-07-11 21:46:42Z mike $"
|
||||
dnl
|
||||
dnl Large file support stuff for CUPS.
|
||||
dnl
|
||||
@@ -48,5 +48,5 @@ fi
|
||||
AC_CHECK_FUNC(strtoll, AC_DEFINE(HAVE_STRTOLL))
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-largefile.m4 6649 2007-07-11 21:46:42Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-launchd.m4 6649 2007-07-11 21:46:42Z mike $"
|
||||
dnl
|
||||
dnl launchd stuff for CUPS.
|
||||
dnl
|
||||
@@ -39,5 +39,5 @@ AC_SUBST(DEFAULT_LAUNCHD_CONF)
|
||||
AC_SUBST(LAUNCHDLIBS)
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-launchd.m4 6649 2007-07-11 21:46:42Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-libtool.m4 6649 2007-07-11 21:46:42Z mike $"
|
||||
dnl
|
||||
dnl Libtool stuff for CUPS.
|
||||
dnl
|
||||
@@ -35,5 +35,5 @@ if test x$LIBTOOL != x; then
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-libtool.m4 6649 2007-07-11 21:46:42Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-manpages.m4 6649 2007-07-11 21:46:42Z mike $"
|
||||
dnl
|
||||
dnl Manpage stuff for CUPS.
|
||||
dnl
|
||||
@@ -78,5 +78,5 @@ AC_SUBST(MAN8EXT)
|
||||
AC_SUBST(MAN8DIR)
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-manpages.m4 6649 2007-07-11 21:46:42Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-network.m4 7918 2008-09-08 22:03:01Z mike $"
|
||||
dnl
|
||||
dnl Networking stuff for CUPS.
|
||||
dnl
|
||||
@@ -70,5 +70,5 @@ AC_CHECK_HEADERS(AppleTalk/at_proto.h,AC_DEFINE(HAVE_APPLETALK_AT_PROTO_H),,
|
||||
[#include <netat/appletalk.h>])
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-network.m4 7918 2008-09-08 22:03:01Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-opsys.m4 6649 2007-07-11 21:46:42Z mike $"
|
||||
dnl
|
||||
dnl Operating system stuff for CUPS.
|
||||
dnl
|
||||
@@ -35,5 +35,5 @@ case "$uname" in
|
||||
esac
|
||||
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-opsys.m4 6649 2007-07-11 21:46:42Z mike $"
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $"
|
||||
dnl
|
||||
dnl PAM stuff for CUPS.
|
||||
dnl
|
||||
@@ -98,5 +98,5 @@ AC_SUBST(PAMMOD)
|
||||
AC_SUBST(PAMMODAUTH)
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-scripting.m4 7915 2008-09-07 22:18:29Z mike $"
|
||||
dnl
|
||||
dnl Scripting configuration stuff for CUPS.
|
||||
dnl
|
||||
@@ -85,5 +85,5 @@ if test "x$CUPS_PYTHON" != x; then
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-scripting.m4 7915 2008-09-07 22:18:29Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $"
|
||||
dnl
|
||||
dnl Shared library support for CUPS.
|
||||
dnl
|
||||
@@ -234,5 +234,5 @@ AC_SUBST(IMGLIBS)
|
||||
AC_SUBST(EXPORT_LDFLAGS)
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-ssl.m4 7241 2008-01-22 22:34:52Z mike $"
|
||||
dnl
|
||||
dnl OpenSSL/GNUTLS stuff for CUPS.
|
||||
dnl
|
||||
@@ -157,5 +157,5 @@ EXPORT_SSLLIBS="$SSLLIBS"
|
||||
AC_SUBST(EXPORT_SSLLIBS)
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-ssl.m4 7241 2008-01-22 22:34:52Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id$"
|
||||
dnl "$Id: cups-threads.m4 6649 2007-07-11 21:46:42Z mike $"
|
||||
dnl
|
||||
dnl Threading stuff for CUPS.
|
||||
dnl
|
||||
@@ -50,5 +50,5 @@ fi
|
||||
AC_SUBST(PTHREAD_FLAGS)
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
dnl End of "$Id: cups-threads.m4 6649 2007-07-11 21:46:42Z mike $".
|
||||
dnl
|
||||
|
||||
@@ -70,7 +70,6 @@ AC_OUTPUT(Makedefs
|
||||
desktop/cups.desktop
|
||||
doc/help/ref-cups-files-conf.html
|
||||
doc/help/ref-cupsd-conf.html
|
||||
doc/help/standard.html
|
||||
doc/index.html
|
||||
man/client.conf.man
|
||||
man/cups-deviced.man
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-array.header 7266 2008-01-29 02:15:29Z mike $"
|
||||
|
||||
Array API header for CUPS.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
|
||||
|
||||
Array API introduction for CUPS.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
|
||||
|
||||
CUPS API header for CUPS.
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-cups.shtml 7337 2008-02-22 04:44:04Z mike $"
|
||||
|
||||
API introduction for CUPS.
|
||||
|
||||
Copyright 2007-2011 by Apple Inc.
|
||||
Copyright 2007-2013 by Apple Inc.
|
||||
Copyright 1997-2006 by Easy Software Products, all rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs are the
|
||||
@@ -183,7 +183,7 @@ int num_options = 0;
|
||||
<a href='#cups_option_t'>cups_option_t</a> *options = NULL;
|
||||
<a href='#cups_dest_t'>cups_dest_t</a> *dest;
|
||||
|
||||
for (i = 0; i < dest->num_options; i ++)
|
||||
for (i = 0; i < dest->num_options; i ++)
|
||||
num_options = <a href='#cupsAddOption'>cupsAddOption</a>(dest->options[i].name, dest->options[i].value,
|
||||
num_options, &options);
|
||||
</pre>
|
||||
@@ -235,7 +235,7 @@ job_id = <a href='#cupsPrintFiles'>cupsPrintFiles</a>(dest->name, 3, files, "Tes
|
||||
|
||||
<p>Finally, the <a href='#cupsCreateJob'><code>cupsCreateJob</code></a>
|
||||
function creates a new job with no files in it. Files are added using the
|
||||
<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>,
|
||||
<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>,
|
||||
<a href='api-httpipp.html#cupsWriteRequestData'><code>cupsWriteRequestData</code></a>,
|
||||
and <a href='#cupsFinishDocument'><code>cupsFinishDocument</code></a> functions.
|
||||
The following example creates a job with 10 text files for printing:</p>
|
||||
@@ -299,7 +299,7 @@ int num_jobs;
|
||||
<a href='#cups_job_t'>cups_job_t</a> *jobs;
|
||||
int i;
|
||||
ipp_jstate_t job_state = IPP_JOB_PENDING;
|
||||
|
||||
|
||||
while (job_state < IPP_JOB_STOPPED)
|
||||
{
|
||||
/* Get my jobs (1) with any state (-1) */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-filedir.header 7279 2008-01-31 01:50:44Z mike $"
|
||||
|
||||
File and Directory API header for CUPS.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-filedir.shtml 7279 2008-01-31 01:50:44Z mike $"
|
||||
|
||||
File and directory API introduction for CUPS.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-filter.header 7616 2008-05-28 00:34:13Z mike $"
|
||||
|
||||
Filter and backend programming header for CUPS.
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-filter.shtml 7677 2008-06-19 23:22:19Z mike $"
|
||||
|
||||
Filter and backend programming introduction for CUPS.
|
||||
|
||||
Copyright 2007-2012 by Apple Inc.
|
||||
Copyright 2007-2013 by Apple Inc.
|
||||
Copyright 1997-2006 by Easy Software Products, all rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs are the
|
||||
@@ -488,7 +488,7 @@ from localizing the vendor-prefixed keyword in the PPD file - otherwise both
|
||||
the generic and vendor-specific keyword will be shown in the user
|
||||
interface.</p>
|
||||
|
||||
</blockquote></dd>
|
||||
</blockquote>
|
||||
|
||||
<h4><a name="REPORTING_SUPPLIES">Reporting Supply Levels</a></h4>
|
||||
|
||||
@@ -613,7 +613,7 @@ datalen = sizeof(data) - 1;
|
||||
status = <a href="#cupsSideChannelDoRequest">cupsSideChannelDoRequest</a>(CUPS_SC_CMD_GET_DEVICE_ID, data, &datalen, 1.0);
|
||||
|
||||
/* Use the returned value if OK was returned and the length is non-zero */
|
||||
if (status == CUPS_SC_STATUS_OK && datalen > 0)
|
||||
if (status == CUPS_SC_STATUS_OK && datalen > 0)
|
||||
data[datalen] = '\0';
|
||||
else
|
||||
data[0] = '\0';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-httpipp.header 7258 2008-01-28 00:15:05Z mike $"
|
||||
|
||||
HTTP and IPP API header for CUPS.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-httpipp.shtml 7684 2008-06-23 16:47:38Z mike $"
|
||||
|
||||
HTTP and IPP API introduction for CUPS.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-ppd.header 7616 2008-05-28 00:34:13Z mike $"
|
||||
|
||||
PPD API header for CUPS.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-ppd.shtml 7616 2008-05-28 00:34:13Z mike $"
|
||||
|
||||
PPD API introduction for CUPS.
|
||||
|
||||
|
||||
+3
-2
@@ -358,7 +358,8 @@ extern int cupsGetClasses(char ***classes) _CUPS_DEPRECATED_MSG("Use cupsGetDes
|
||||
extern const char *cupsGetDefault(void);
|
||||
extern int cupsGetJobs(cups_job_t **jobs, const char *name,
|
||||
int myjobs, int whichjobs);
|
||||
extern const char *cupsGetPPD(const char *name);
|
||||
extern const char *cupsGetPPD(const char *name)
|
||||
_CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo instead.");
|
||||
extern int cupsGetPrinters(char ***printers) _CUPS_DEPRECATED_MSG("Use cupsGetDests instead.");
|
||||
extern ipp_status_t cupsLastError(void);
|
||||
extern int cupsPrintFile(const char *name, const char *filename,
|
||||
@@ -417,7 +418,7 @@ extern int cupsGetJobs2(http_t *http, cups_job_t **jobs,
|
||||
const char *name, int myjobs,
|
||||
int whichjobs) _CUPS_API_1_1_21;
|
||||
extern const char *cupsGetPPD2(http_t *http, const char *name)
|
||||
_CUPS_API_1_1_21;
|
||||
_CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo instead.");
|
||||
extern int cupsPrintFile2(http_t *http, const char *name,
|
||||
const char *filename,
|
||||
const char *title, int num_options,
|
||||
|
||||
@@ -713,7 +713,7 @@ cupsCopyDestInfo(
|
||||
* @code ippGetResolution@, @code ippGetString@, and @code ippGetValueTag@
|
||||
* functions to inspect the default value(s) as needed.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
ipp_attribute_t * /* O - Default attribute or @code NULL@ for none */
|
||||
@@ -753,7 +753,7 @@ cupsFindDestDefault(
|
||||
* @code ippGetResolution@, @code ippGetString@, and @code ippGetValueTag@
|
||||
* functions to inspect the default value(s) as needed.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
ipp_attribute_t * /* O - Default attribute or @code NULL@ for none */
|
||||
@@ -795,7 +795,7 @@ cupsFindDestReady(
|
||||
* @code ippGetResolution@, @code ippGetString@, and @code ippGetValueTag@
|
||||
* functions to inspect the default value(s) as needed.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
ipp_attribute_t * /* O - Default attribute or @code NULL@ for none */
|
||||
@@ -874,7 +874,7 @@ cupsFreeDestInfo(cups_dinfo_t *dinfo) /* I - Destination information */
|
||||
* example, passing @code CUPS_MEDIA_FLAGS_BORDERLESS@ will get the Nth
|
||||
* borderless size supported by the printer.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - 1 on success, 0 on failure */
|
||||
@@ -1069,7 +1069,7 @@ cupsGetDestMediaBySize(
|
||||
* counted. For example, passing @code CUPS_MEDIA_FLAGS_BORDERLESS@ will return
|
||||
* the number of borderless sizes.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - Number of sizes */
|
||||
@@ -1110,7 +1110,7 @@ cupsGetDestMediaCount(
|
||||
* example, passing @code CUPS_MEDIA_FLAGS_BORDERLESS@ will return the default
|
||||
* borderless size, typically US Letter or A4, but sometimes 4x6 photo media.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - 1 on success, 0 on failure */
|
||||
|
||||
+15
-32
@@ -933,8 +933,8 @@ cupsEnumDests(
|
||||
* Get the list of local printers and pass them to the callback function...
|
||||
*/
|
||||
|
||||
num_dests = _cupsGetDests(CUPS_HTTP_DEFAULT, IPP_OP_CUPS_GET_PRINTERS, NULL, &dests,
|
||||
type, mask);
|
||||
num_dests = _cupsGetDests(CUPS_HTTP_DEFAULT, IPP_OP_CUPS_GET_PRINTERS, NULL,
|
||||
&dests, type, mask);
|
||||
|
||||
for (i = num_dests, dest = dests;
|
||||
i > 0 && (!cancel || !*cancel);
|
||||
@@ -1344,9 +1344,9 @@ _cupsGetDestResource(
|
||||
/*
|
||||
* '_cupsGetDests()' - Get destinations from a server.
|
||||
*
|
||||
* "op" is IPP_OP_CUPS_GET_PRINTERS to get a full list, IPP_OP_CUPS_GET_DEFAULT to get the
|
||||
* system-wide default printer, or IPP_OP_GET_PRINTER_ATTRIBUTES for a known
|
||||
* printer.
|
||||
* "op" is IPP_OP_CUPS_GET_PRINTERS to get a full list, IPP_OP_CUPS_GET_DEFAULT
|
||||
* to get the system-wide default printer, or IPP_OP_GET_PRINTER_ATTRIBUTES for
|
||||
* a known printer.
|
||||
*
|
||||
* "name" is the name of an existing printer and is only used when "op" is
|
||||
* IPP_OP_GET_PRINTER_ATTRIBUTES.
|
||||
@@ -1661,7 +1661,6 @@ int /* O - Number of destinations */
|
||||
cupsGetDests2(http_t *http, /* I - Connection to server or @code CUPS_HTTP_DEFAULT@ */
|
||||
cups_dest_t **dests) /* O - Destinations */
|
||||
{
|
||||
int i; /* Looping var */
|
||||
int num_dests; /* Number of destinations */
|
||||
cups_dest_t *dest; /* Destination pointer */
|
||||
const char *home; /* HOME environment variable */
|
||||
@@ -1784,21 +1783,16 @@ cupsGetDests2(http_t *http, /* I - Connection to server or @code CUPS_HTTP_
|
||||
* Have a default; see if it is real...
|
||||
*/
|
||||
|
||||
dest = cupsGetDest(dest->name, NULL, num_reals, reals);
|
||||
}
|
||||
if (!cupsGetDest(dest->name, NULL, num_reals, reals))
|
||||
{
|
||||
/*
|
||||
* Remove the non-real printer from the list, since we don't want jobs
|
||||
* going to an unexpected printer... (<rdar://problem/14216472>)
|
||||
*/
|
||||
|
||||
/*
|
||||
* If dest is NULL, then no default (that exists) is set, so we
|
||||
* need to set a default if one exists...
|
||||
*/
|
||||
|
||||
if (!dest && *dests && defprinter)
|
||||
{
|
||||
for (i = 0; i < num_dests; i ++)
|
||||
(*dests)[i].is_default = 0;
|
||||
|
||||
if ((dest = cupsGetDest(name, instance, num_dests, *dests)) != NULL)
|
||||
dest->is_default = 1;
|
||||
num_dests = cupsRemoveDest(dest->name, dest->instance, num_dests,
|
||||
dests);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1913,18 +1907,7 @@ cupsGetNamedDest(http_t *http, /* I - Connection to server or @code CUPS_HTT
|
||||
*/
|
||||
|
||||
if (!_cupsGetDests(http, op, name, &dest, 0, 0))
|
||||
{
|
||||
if (op == IPP_OP_CUPS_GET_DEFAULT || (name && !set_as_default))
|
||||
return (NULL);
|
||||
|
||||
/*
|
||||
* The default printer from environment variables or from a
|
||||
* configuration file does not exist. Find out the real default.
|
||||
*/
|
||||
|
||||
if (!_cupsGetDests(http, IPP_OP_CUPS_GET_DEFAULT, NULL, &dest, 0, 0))
|
||||
return (NULL);
|
||||
}
|
||||
return (NULL);
|
||||
|
||||
if (instance)
|
||||
dest->instance = _cupsStrAlloc(instance);
|
||||
|
||||
+1
-1
@@ -534,7 +534,7 @@ cupsEncodeOptions2(
|
||||
else
|
||||
ops ++;
|
||||
|
||||
if (*ops == IPP_OP_CUPS_NONE)
|
||||
if (*ops == IPP_OP_CUPS_NONE && op != IPP_OP_CUPS_NONE)
|
||||
{
|
||||
DEBUG_printf(("2cupsEncodeOptions2: Skipping \"%s\".", option->name));
|
||||
continue;
|
||||
|
||||
@@ -219,7 +219,6 @@ cups_globals_alloc(void)
|
||||
cg->any_root = 1;
|
||||
cg->expired_certs = 1;
|
||||
cg->expired_root = 1;
|
||||
cg->server_version = 20;
|
||||
|
||||
#ifdef DEBUG
|
||||
/*
|
||||
|
||||
+2
-2
@@ -137,7 +137,7 @@ httpAddrLength(const http_addr_t *addr) /* I - Address */
|
||||
* 'httpAddrListen()' - Create a listening socket bound to the specified
|
||||
* address and port.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - Socket or -1 on error */
|
||||
@@ -364,7 +364,7 @@ httpAddrLookup(
|
||||
/*
|
||||
* 'httpAddrPort()' - Get the port number associated with an address.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - Port number */
|
||||
|
||||
@@ -59,7 +59,7 @@ httpAddrConnect(
|
||||
* 'httpAddrConnect2()' - Connect to any of the addresses in the list with a
|
||||
* timeout and optional cancel.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
http_addrlist_t * /* O - Connected address or NULL on failure */
|
||||
@@ -322,7 +322,7 @@ httpAddrConnect2(
|
||||
/*
|
||||
* 'httpAddrCopyList()' - Copy an address list.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
http_addrlist_t * /* O - New address list or @code NULL@ on error */
|
||||
|
||||
+79
-18
@@ -239,6 +239,9 @@ httpAssembleURI(
|
||||
|
||||
if (host)
|
||||
{
|
||||
const char *hostptr; /* Pointer into hostname */
|
||||
int have_ipv6; /* Do we have an IPv6 address? */
|
||||
|
||||
if (username && *username)
|
||||
{
|
||||
/*
|
||||
@@ -266,13 +269,23 @@ httpAssembleURI(
|
||||
* too...
|
||||
*/
|
||||
|
||||
if (host[0] != '[' && strchr(host, ':') && !strstr(host, "._tcp"))
|
||||
for (hostptr = host,
|
||||
have_ipv6 = strchr(host, ':') && !strstr(host, "._tcp");
|
||||
*hostptr && have_ipv6;
|
||||
hostptr ++)
|
||||
if (*hostptr != ':' && !isxdigit(*hostptr & 255))
|
||||
{
|
||||
have_ipv6 = *hostptr == '%';
|
||||
break;
|
||||
}
|
||||
|
||||
if (have_ipv6)
|
||||
{
|
||||
/*
|
||||
* We have a raw IPv6 address...
|
||||
*/
|
||||
|
||||
if (strchr(host, '%'))
|
||||
if (strchr(host, '%') && !(encoding & HTTP_URI_CODING_RFC6874))
|
||||
{
|
||||
/*
|
||||
* We have a link-local address, add "[v1." prefix...
|
||||
@@ -291,7 +304,7 @@ httpAssembleURI(
|
||||
else
|
||||
{
|
||||
/*
|
||||
* We have a normal address, add "[" prefix...
|
||||
* We have a normal (or RFC 6874 link-local) address, add "[" prefix...
|
||||
*/
|
||||
|
||||
if (ptr < end)
|
||||
@@ -307,8 +320,23 @@ httpAssembleURI(
|
||||
while (ptr < end && *host)
|
||||
{
|
||||
if (*host == '%')
|
||||
{
|
||||
*ptr++ = '+'; /* Convert zone separator */
|
||||
{
|
||||
/*
|
||||
* Convert/encode zone separator
|
||||
*/
|
||||
|
||||
if (encoding & HTTP_URI_CODING_RFC6874)
|
||||
{
|
||||
if (ptr >= (end - 2))
|
||||
goto assemble_overflow;
|
||||
|
||||
*ptr++ = '%';
|
||||
*ptr++ = '2';
|
||||
*ptr++ = '5';
|
||||
}
|
||||
else
|
||||
*ptr++ = '+';
|
||||
|
||||
host ++;
|
||||
}
|
||||
else
|
||||
@@ -326,9 +354,12 @@ httpAssembleURI(
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Otherwise, just copy the host string...
|
||||
* Otherwise, just copy the host string (the extra chars are not in the
|
||||
* "reg-name" ABNF rule; anything <= SP or >= DEL plus % gets automatically
|
||||
* percent-encoded.
|
||||
*/
|
||||
ptr = http_copy_encode(ptr, host, end, "<>{}|^:/?#[]@\\\"", NULL,
|
||||
|
||||
ptr = http_copy_encode(ptr, host, end, "\"#/:<>?@[\\]^`{|}", NULL,
|
||||
encoding & HTTP_URI_CODING_HOSTNAME);
|
||||
|
||||
if (!ptr)
|
||||
@@ -475,7 +506,7 @@ httpAssembleURIf(
|
||||
*
|
||||
* The buffer needs to be at least 46 bytes in size.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
char * /* I - UUID string */
|
||||
@@ -1097,8 +1128,25 @@ httpSeparateURI(
|
||||
*/
|
||||
|
||||
uri ++;
|
||||
if (!strncmp(uri, "v1.", 3))
|
||||
uri += 3; /* Skip IPvN leader... */
|
||||
if (*uri == 'v')
|
||||
{
|
||||
/*
|
||||
* Skip IPvFuture ("vXXXX.") prefix...
|
||||
*/
|
||||
|
||||
uri ++;
|
||||
|
||||
while (isxdigit(*uri & 255))
|
||||
uri ++;
|
||||
|
||||
if (*uri != '.')
|
||||
{
|
||||
*host = '\0';
|
||||
return (HTTP_URI_STATUS_BAD_HOSTNAME);
|
||||
}
|
||||
|
||||
uri ++;
|
||||
}
|
||||
|
||||
uri = http_copy_decode(host, uri, hostlen, "]",
|
||||
decoding & HTTP_URI_CODING_HOSTNAME);
|
||||
@@ -1131,6 +1179,14 @@ httpSeparateURI(
|
||||
*ptr = '%';
|
||||
break;
|
||||
}
|
||||
else if (*ptr == '%')
|
||||
{
|
||||
/*
|
||||
* Stop at zone separator (RFC 6874)
|
||||
*/
|
||||
|
||||
break;
|
||||
}
|
||||
else if (*ptr != ':' && *ptr != '.' && !isxdigit(*ptr & 255))
|
||||
{
|
||||
*host = '\0';
|
||||
@@ -1146,12 +1202,13 @@ httpSeparateURI(
|
||||
for (ptr = (char *)uri; *ptr; ptr ++)
|
||||
if (strchr(":?/", *ptr))
|
||||
break;
|
||||
else if (!strchr("abcdefghijklmnopqrstuvwxyz"
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
"0123456789"
|
||||
"-._~"
|
||||
"%"
|
||||
"!$&'()*+,;=\\", *ptr))
|
||||
else if (!strchr("abcdefghijklmnopqrstuvwxyz" /* unreserved */
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZ" /* unreserved */
|
||||
"0123456789" /* unreserved */
|
||||
"-._~" /* unreserved */
|
||||
"%" /* pct-encoded */
|
||||
"!$&'()*+,;=" /* sub-delims */
|
||||
"\\", *ptr)) /* SMB domain */
|
||||
{
|
||||
*host = '\0';
|
||||
return (HTTP_URI_STATUS_BAD_HOSTNAME);
|
||||
@@ -1244,8 +1301,9 @@ httpSeparateURI(
|
||||
|
||||
char *resptr = resource + strlen(resource);
|
||||
|
||||
uri = http_copy_decode(resptr, uri, resourcelen - (int)(resptr - resource),
|
||||
NULL, decoding & HTTP_URI_CODING_QUERY);
|
||||
uri = http_copy_decode(resptr, uri,
|
||||
resourcelen - (int)(resptr - resource), NULL,
|
||||
decoding & HTTP_URI_CODING_QUERY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1282,6 +1340,9 @@ httpStatus(http_status_t status) /* I - HTTP status code */
|
||||
|
||||
switch (status)
|
||||
{
|
||||
case HTTP_STATUS_ERROR :
|
||||
s = strerror(errno);
|
||||
break;
|
||||
case HTTP_STATUS_CONTINUE :
|
||||
s = _("Continue");
|
||||
break;
|
||||
|
||||
+10
-19
@@ -278,7 +278,7 @@ static BIO_METHOD http_bio_methods =
|
||||
* 'httpAcceptConnection()' - Accept a new HTTP client connection from the
|
||||
* specified listening socket.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
http_t * /* O - HTTP connection or @code NULL@ */
|
||||
@@ -582,7 +582,7 @@ httpConnect(const char *host, /* I - Host to connect to */
|
||||
/*
|
||||
* 'httpConnect2()' - Connect to a HTTP server.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
http_t * /* O - New HTTP connection */
|
||||
@@ -959,19 +959,8 @@ httpFlushWrite(http_t *http) /* I - Connection to server */
|
||||
if (http->data_encoding == HTTP_ENCODING_CHUNKED)
|
||||
bytes = http_write_chunk(http, http->wbuffer, http->wused);
|
||||
else
|
||||
{
|
||||
bytes = http_write(http, http->wbuffer, http->wused);
|
||||
|
||||
if (bytes > 0 && http->data_encoding == HTTP_ENCODING_LENGTH)
|
||||
{
|
||||
http->data_remaining -= bytes;
|
||||
|
||||
if (http->data_remaining <= 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
http->wused = 0;
|
||||
|
||||
DEBUG_printf(("1httpFlushWrite: Returning %d, errno=%d.", bytes, errno));
|
||||
@@ -1086,7 +1075,7 @@ httpGetBlocking(http_t *http) /* I - Connection to server */
|
||||
* client. The value returned can be use in subsequent requests (for clients)
|
||||
* or in the response (for servers) in order to compress the content stream.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
const char * /* O - Content-Coding value or
|
||||
@@ -1184,7 +1173,7 @@ httpGetCookie(http_t *http) /* I - HTTP connecion */
|
||||
* Returns @code HTTP_STATUS_NONE@ if there is no Expect header, otherwise
|
||||
* returns the expected HTTP status code, typically @code HTTP_STATUS_CONTINUE@.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
http_status_t /* O - Expect: status, if any */
|
||||
@@ -1818,7 +1807,7 @@ httpOptions(http_t *http, /* I - Connection to server */
|
||||
*
|
||||
* For non-blocking connections the usual timeouts apply.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
ssize_t /* O - Number of bytes copied */
|
||||
@@ -2483,7 +2472,7 @@ _httpReadGNUTLS(
|
||||
/*
|
||||
* 'httpReadRequest()' - Read a HTTP request from a connection.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
http_state_t /* O - New state of connection */
|
||||
@@ -2904,7 +2893,7 @@ httpSetCookie(http_t *http, /* I - Connection */
|
||||
* Currently only @code HTTP_FIELD_ACCEPT_ENCODING@, @code HTTP_FIELD_SERVER@,
|
||||
* and @code HTTP_FIELD_USER_AGENT@ can be set.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
void
|
||||
@@ -3741,6 +3730,8 @@ httpWrite2(http_t *http, /* I - Connection to server */
|
||||
|
||||
if (http->state == HTTP_STATE_POST_RECV)
|
||||
http->state ++;
|
||||
else if (http->state == HTTP_STATE_POST_SEND)
|
||||
http->state = HTTP_STATE_WAITING;
|
||||
else
|
||||
http->state = HTTP_STATE_STATUS;
|
||||
|
||||
@@ -3833,7 +3824,7 @@ _httpWriteGNUTLS(
|
||||
/*
|
||||
* 'httpWriteResponse()' - Write a HTTP response to a client connection.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - 0 on success, -1 on error */
|
||||
|
||||
+11
-10
@@ -182,9 +182,9 @@ typedef enum http_field_e /**** HTTP field names ****/
|
||||
HTTP_FIELD_UPGRADE, /* Upgrade field */
|
||||
HTTP_FIELD_USER_AGENT, /* User-Agent field */
|
||||
HTTP_FIELD_WWW_AUTHENTICATE, /* WWW-Authenticate field */
|
||||
HTTP_FIELD_ACCEPT_ENCODING, /* Accepting-Encoding field @since CUPS 1.7@ */
|
||||
HTTP_FIELD_ALLOW, /* Allow field @since CUPS 1.7@ */
|
||||
HTTP_FIELD_SERVER, /* Server field @since CUPS 1.7@ */
|
||||
HTTP_FIELD_ACCEPT_ENCODING, /* Accepting-Encoding field @since CUPS 1.7/OS X 10.9@ */
|
||||
HTTP_FIELD_ALLOW, /* Allow field @since CUPS 1.7/OS X 10.9@ */
|
||||
HTTP_FIELD_SERVER, /* Server field @since CUPS 1.7/OS X 10.9@ */
|
||||
HTTP_FIELD_MAX /* Maximum field index */
|
||||
} http_field_t;
|
||||
|
||||
@@ -213,8 +213,8 @@ typedef enum http_state_e /**** HTTP state values; states
|
||||
HTTP_STATE_TRACE, /* TRACE command, waiting for blank line */
|
||||
HTTP_STATE_CONNECT, /* CONNECT command, waiting for blank line */
|
||||
HTTP_STATE_STATUS, /* Command complete, sending status */
|
||||
HTTP_STATE_UNKNOWN_METHOD, /* Unknown request method, waiting for blank line @since CUPS 1.7@ */
|
||||
HTTP_STATE_UNKNOWN_VERSION /* Unknown request method, waiting for blank line @since CUPS 1.7@ */
|
||||
HTTP_STATE_UNKNOWN_METHOD, /* Unknown request method, waiting for blank line @since CUPS 1.7/OS X 10.9@ */
|
||||
HTTP_STATE_UNKNOWN_VERSION /* Unknown request method, waiting for blank line @since CUPS 1.7/OS X 10.9@ */
|
||||
|
||||
# ifndef _CUPS_NO_DEPRECATED
|
||||
# define HTTP_WAITING HTTP_STATE_WAITING
|
||||
@@ -237,7 +237,7 @@ typedef enum http_state_e /**** HTTP state values; states
|
||||
typedef enum http_status_e /**** HTTP status codes ****/
|
||||
{
|
||||
HTTP_STATUS_ERROR = -1, /* An error response from httpXxxx() */
|
||||
HTTP_STATUS_NONE = 0, /* No Expect value @since CUPS 1.7@ */
|
||||
HTTP_STATUS_NONE = 0, /* No Expect value @since CUPS 1.7/OS X 10.9@ */
|
||||
|
||||
HTTP_STATUS_CONTINUE = 100, /* Everything OK, keep going... */
|
||||
HTTP_STATUS_SWITCHING_PROTOCOLS, /* HTTP upgrade to TLS/SSL */
|
||||
@@ -383,7 +383,8 @@ typedef enum http_uri_coding_e /**** URI en/decode flags ****/
|
||||
HTTP_URI_CODING_RESOURCE = 4, /* En/decode the resource portion */
|
||||
HTTP_URI_CODING_MOST = 7, /* En/decode all but the query */
|
||||
HTTP_URI_CODING_QUERY = 8, /* En/decode the query portion */
|
||||
HTTP_URI_CODING_ALL = 15 /* En/decode everything */
|
||||
HTTP_URI_CODING_ALL = 15, /* En/decode everything */
|
||||
HTTP_URI_CODING_RFC6874 = 16 /* Use RFC 6874 address format */
|
||||
} http_uri_coding_t;
|
||||
|
||||
typedef enum http_version_e /**** HTTP version numbers ****/
|
||||
@@ -448,10 +449,10 @@ extern int httpCheck(http_t *http);
|
||||
extern void httpClearFields(http_t *http);
|
||||
extern void httpClose(http_t *http);
|
||||
extern http_t *httpConnect(const char *host, int port)
|
||||
_CUPS_DEPRECATED_MSG("Use httpConnect2 instead.");
|
||||
_CUPS_DEPRECATED_1_7_MSG("Use httpConnect2 instead.");
|
||||
extern http_t *httpConnectEncrypt(const char *host, int port,
|
||||
http_encryption_t encryption)
|
||||
_CUPS_DEPRECATED_MSG("Use httpConnect2 instead.");
|
||||
_CUPS_DEPRECATED_1_7_MSG("Use httpConnect2 instead.");
|
||||
extern int httpDelete(http_t *http, const char *uri);
|
||||
extern int httpEncryption(http_t *http, http_encryption_t e);
|
||||
extern int httpError(http_t *http);
|
||||
@@ -472,7 +473,7 @@ extern int httpPrintf(http_t *http, const char *format, ...)
|
||||
__attribute__ ((__format__ (__printf__, 2, 3)));
|
||||
extern int httpPut(http_t *http, const char *uri);
|
||||
extern int httpRead(http_t *http, char *buffer, int length) _CUPS_DEPRECATED_MSG("Use httpRead2 instead.");
|
||||
extern int httpReconnect(http_t *http) _CUPS_DEPRECATED_MSG("Use httpReconnect2 instead.");
|
||||
extern int httpReconnect(http_t *http) _CUPS_DEPRECATED_1_6_MSG("Use httpReconnect2 instead.");
|
||||
extern void httpSeparate(const char *uri, char *method,
|
||||
char *username, char *host, int *port,
|
||||
char *resource) _CUPS_DEPRECATED_MSG("Use httpSeparateURI instead.");
|
||||
|
||||
+69
-31
@@ -204,7 +204,7 @@ static const char * const ipp_std_ops[] =
|
||||
"Suspend-Current-Job",
|
||||
"Resume-Job",
|
||||
|
||||
/* 0x0030 - 0x003d */
|
||||
/* 0x0030 - 0x003e */
|
||||
"Promote-Job",
|
||||
"Schedule-Job-After",
|
||||
"0x0032",
|
||||
@@ -218,7 +218,8 @@ static const char * const ipp_std_ops[] =
|
||||
"Resubmit-Job",
|
||||
"Close-Job",
|
||||
"Identify-Printer",
|
||||
"Validate-Document"
|
||||
"Validate-Document",
|
||||
"Send-Hardcopy-Document"
|
||||
},
|
||||
* const ipp_cups_ops[] =
|
||||
{
|
||||
@@ -400,7 +401,44 @@ static const char * const ipp_document_states[] =
|
||||
"trim-after-pages",
|
||||
"trim-after-documents",
|
||||
"trim-after-copies",
|
||||
"trim-after-job"
|
||||
"trim-after-job",
|
||||
"64",
|
||||
"65",
|
||||
"66",
|
||||
"67",
|
||||
"68",
|
||||
"69",
|
||||
"punch-top-left",
|
||||
"punch-bottom-left",
|
||||
"punch-top-right",
|
||||
"punch-bottom-right",
|
||||
"punch-dual-left",
|
||||
"punch-dual-top",
|
||||
"punch-dual-right",
|
||||
"punch-dual-bottom",
|
||||
"punch-triple-left",
|
||||
"punch-triple-top",
|
||||
"punch-triple-right",
|
||||
"punch-triple-bottom",
|
||||
"punch-quad-left",
|
||||
"punch-quad-top",
|
||||
"punch-quad-right",
|
||||
"punch-quad-bottom",
|
||||
"86",
|
||||
"87",
|
||||
"88",
|
||||
"89",
|
||||
"fold-accordian",
|
||||
"fold-double-gate",
|
||||
"fold-gate",
|
||||
"fold-half",
|
||||
"fold-half-z",
|
||||
"fold-left-gate",
|
||||
"fold-letter",
|
||||
"fold-parallel",
|
||||
"fold-poster",
|
||||
"fold-right-gate",
|
||||
"fold-z"
|
||||
},
|
||||
* const ipp_finishings_vendor[] =
|
||||
{
|
||||
@@ -479,39 +517,39 @@ static const char * const ipp_document_states[] =
|
||||
"0x40000043",
|
||||
"0x40000044",
|
||||
"0x40000045",
|
||||
"punch-top-left",
|
||||
"punch-bottom-left",
|
||||
"punch-top-right",
|
||||
"punch-bottom-right",
|
||||
"punch-dual-left",
|
||||
"punch-dual-top",
|
||||
"punch-dual-right",
|
||||
"punch-dual-bottom",
|
||||
"punch-triple-left",
|
||||
"punch-triple-top",
|
||||
"cups-punch-top-left",
|
||||
"cups-punch-bottom-left",
|
||||
"cups-punch-top-right",
|
||||
"cups-punch-bottom-right",
|
||||
"cups-punch-dual-left",
|
||||
"cups-punch-dual-top",
|
||||
"cups-punch-dual-right",
|
||||
"cups-punch-dual-bottom",
|
||||
"cups-punch-triple-left",
|
||||
"cups-punch-triple-top",
|
||||
/* 0x40000050 - 0x4000005F */
|
||||
"punch-triple-right",
|
||||
"punch-triple-bottom",
|
||||
"punch-quad-left",
|
||||
"punch-quad-top",
|
||||
"punch-quad-right",
|
||||
"punch-quad-bottom",
|
||||
"cups-punch-triple-right",
|
||||
"cups-punch-triple-bottom",
|
||||
"cups-punch-quad-left",
|
||||
"cups-punch-quad-top",
|
||||
"cups-punch-quad-right",
|
||||
"cups-punch-quad-bottom",
|
||||
"0x40000056",
|
||||
"0x40000057",
|
||||
"0x40000058",
|
||||
"0x40000059",
|
||||
"fold-accordian",
|
||||
"fold-double-gate",
|
||||
"fold-gate",
|
||||
"fold-half",
|
||||
"fold-half-z",
|
||||
"fold-left-gate",
|
||||
"cups-fold-accordian",
|
||||
"cups-fold-double-gate",
|
||||
"cups-fold-gate",
|
||||
"cups-fold-half",
|
||||
"cups-fold-half-z",
|
||||
"cups-fold-left-gate",
|
||||
/* 0x40000060 - 0x40000064 */
|
||||
"fold-letter",
|
||||
"fold-parallel",
|
||||
"fold-poster",
|
||||
"fold-right-gate",
|
||||
"fold-z"
|
||||
"cups-fold-letter",
|
||||
"cups-fold-parallel",
|
||||
"cups-fold-poster",
|
||||
"cups-fold-right-gate",
|
||||
"cups-fold-z"
|
||||
},
|
||||
* const ipp_job_collation_types[] =
|
||||
{ /* job-collation-type enums */
|
||||
@@ -800,7 +838,7 @@ ippAttributeString(
|
||||
* "attribute-name")@ will return a non-NULL pointer. The array must be freed
|
||||
* using the @code cupsArrayDelete@ function.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
cups_array_t * /* O - CUPS array or @code NULL@ if all */
|
||||
|
||||
+19
-15
@@ -1131,7 +1131,7 @@ ippAddString(ipp_t *ipp, /* I - IPP message */
|
||||
* needed. The formatted string is truncated as needed to the maximum length of
|
||||
* the corresponding value type.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
ipp_attribute_t * /* O - New attribute */
|
||||
@@ -1184,7 +1184,7 @@ ippAddStringf(ipp_t *ipp, /* I - IPP message */
|
||||
* stdarg pointer @code ap@. The formatted string is truncated as needed to the
|
||||
* maximum length of the corresponding value type.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
ipp_attribute_t * /* O - New attribute */
|
||||
@@ -1210,7 +1210,7 @@ ippAddStringfv(ipp_t *ipp, /* I - IPP message */
|
||||
group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
|
||||
(value_tag < IPP_TAG_TEXT && value_tag != IPP_TAG_TEXTLANG &&
|
||||
value_tag != IPP_TAG_NAMELANG) || value_tag > IPP_TAG_MIMETYPE ||
|
||||
!format || !ap)
|
||||
!format)
|
||||
return (NULL);
|
||||
|
||||
if ((value_tag == IPP_TAG_TEXTLANG || value_tag == IPP_TAG_NAMELANG)
|
||||
@@ -1466,7 +1466,7 @@ ippAddStrings(
|
||||
* enum value, or the value falls within one of the rangeOfInteger values for
|
||||
* the attribute.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - 1 on a match, 0 on no match */
|
||||
@@ -1517,7 +1517,7 @@ ippContainsInteger(
|
||||
* Returns non-zero when the attribute contains a matching charset, keyword,
|
||||
* language, mimeMediaType, name, text, URI, or URI scheme value.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - 1 on a match, 0 on no match */
|
||||
@@ -2390,7 +2390,7 @@ ippGetName(ipp_attribute_t *attr) /* I - IPP attribute */
|
||||
* The @code element@ parameter specifies which value to get from 0 to
|
||||
* @link ippGetCount(attr)@ - 1.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
void * /* O - Pointer to octetString data */
|
||||
@@ -2741,6 +2741,9 @@ ippNew(void)
|
||||
* Set default version - usually 2.0...
|
||||
*/
|
||||
|
||||
if (cg->server_version == 0)
|
||||
_cupsSetDefaults();
|
||||
|
||||
temp->request.any.version[0] = cg->server_version / 10;
|
||||
temp->request.any.version[1] = cg->server_version % 10;
|
||||
temp->use = 1;
|
||||
@@ -2826,7 +2829,7 @@ ippNewRequest(ipp_op_t op) /* I - Operation code */
|
||||
* "utf-8" and a value derived from the current locale are substituted,
|
||||
* respectively.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
ipp_t * /* O - IPP response message */
|
||||
@@ -4009,7 +4012,7 @@ ippSetName(ipp_t *ipp, /* I - IPP message */
|
||||
* The @code element@ parameter specifies which value to set from 0 to
|
||||
* @link ippGetCount(attr)@.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - 1 on success, 0 on failure */
|
||||
@@ -4382,7 +4385,7 @@ ippSetString(ipp_t *ipp, /* I - IPP message */
|
||||
* needed. The formatted string is truncated as needed to the maximum length of
|
||||
* the corresponding value type.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - 1 on success, 0 on failure */
|
||||
@@ -4420,7 +4423,7 @@ ippSetStringf(ipp_t *ipp, /* I - IPP message */
|
||||
* needed. The formatted string is truncated as needed to the maximum length of
|
||||
* the corresponding value type.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - 1 on success, 0 on failure */
|
||||
@@ -4449,7 +4452,7 @@ ippSetStringfv(ipp_t *ipp, /* I - IPP message */
|
||||
if (!ipp || !attr || !*attr ||
|
||||
(value_tag < IPP_TAG_TEXT && value_tag != IPP_TAG_TEXTLANG &&
|
||||
value_tag != IPP_TAG_NAMELANG) || value_tag > IPP_TAG_MIMETYPE ||
|
||||
!format || !ap)
|
||||
!format)
|
||||
return (0);
|
||||
|
||||
/*
|
||||
@@ -4810,7 +4813,7 @@ ippTimeToDate(time_t t) /* I - UNIX time value */
|
||||
* value tag. 1 is returned if the attribute is valid, 0 otherwise. On
|
||||
* failure, cupsLastErrorString() is set to a human-readable message.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - 1 if valid, 0 otherwise */
|
||||
@@ -5449,7 +5452,7 @@ ippValidateAttribute(
|
||||
* attribute. Like @link ippValidateAttribute@, cupsLastErrorString() is set
|
||||
* to a human-readable message on failure.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - 1 if valid, 0 otherwise */
|
||||
@@ -6348,10 +6351,11 @@ ippWriteIO(void *dst, /* I - Destination */
|
||||
}
|
||||
|
||||
/*
|
||||
* If blocking is disabled, stop here...
|
||||
* If blocking is disabled and we aren't at the end of the attribute
|
||||
* list, stop here...
|
||||
*/
|
||||
|
||||
if (!blocking)
|
||||
if (!blocking && ipp->current)
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
+36
-7
@@ -123,8 +123,35 @@ typedef enum ipp_finishings_e /**** Finishings ****/
|
||||
IPP_FINISHINGS_TRIM_AFTER_DOCUMENTS, /* Trim output after each document */
|
||||
IPP_FINISHINGS_TRIM_AFTER_COPIES, /* Trim output after each copy */
|
||||
IPP_FINISHINGS_TRIM_AFTER_JOB, /* Trim output after job */
|
||||
IPP_FINISHINGS_PUNCH_TOP_LEFT = 70, /* Punch 1 hole top left */
|
||||
IPP_FINISHINGS_PUNCH_BOTTOM_LEFT, /* Punch 1 hole bottom left */
|
||||
IPP_FINISHINGS_PUNCH_TOP_RIGHT, /* Punch 1 hole top right */
|
||||
IPP_FINISHINGS_PUNCH_BOTTOM_RIGHT, /* Punch 1 hole bottom right */
|
||||
IPP_FINISHINGS_PUNCH_DUAL_LEFT, /* Punch 2 holes left side */
|
||||
IPP_FINISHINGS_PUNCH_DUAL_TOP, /* Punch 2 holes top edge */
|
||||
IPP_FINISHINGS_PUNCH_DUAL_RIGHT, /* Punch 2 holes right side */
|
||||
IPP_FINISHINGS_PUNCH_DUAL_BOTTOM, /* Punch 2 holes bottom edge */
|
||||
IPP_FINISHINGS_PUNCH_TRIPLE_LEFT, /* Punch 3 holes left side */
|
||||
IPP_FINISHINGS_PUNCH_TRIPLE_TOP, /* Punch 3 holes top edge */
|
||||
IPP_FINISHINGS_PUNCH_TRIPLE_RIGHT, /* Punch 3 holes right side */
|
||||
IPP_FINISHINGS_PUNCH_TRIPLE_BOTTOM, /* Punch 3 holes bottom edge */
|
||||
IPP_FINISHINGS_PUNCH_QUAD_LEFT, /* Punch 4 holes left side */
|
||||
IPP_FINISHINGS_PUNCH_QUAD_TOP, /* Punch 4 holes top edge */
|
||||
IPP_FINISHINGS_PUNCH_QUAD_RIGHT, /* Punch 4 holes right side */
|
||||
IPP_FINISHINGS_PUNCH_QUAD_BOTTOM, /* Punch 4 holes bottom edge */
|
||||
IPP_FINISHINGS_FOLD_ACCORDIAN = 90, /* Accordian-fold the paper vertically into four sections */
|
||||
IPP_FINISHINGS_FOLD_DOUBLE_GATE, /* Fold the top and bottom quarters of the paper towards the midline, then fold in half vertically */
|
||||
IPP_FINISHINGS_FOLD_GATE, /* Fold the top and bottom quarters of the paper towards the midline */
|
||||
IPP_FINISHINGS_FOLD_HALF, /* Fold the paper in half vertically */
|
||||
IPP_FINISHINGS_FOLD_HALF_Z, /* Fold the paper in half horizontally, then Z-fold the paper vertically */
|
||||
IPP_FINISHINGS_FOLD_LEFT_GATE, /* Fold the top quarter of the paper towards the midline */
|
||||
IPP_FINISHINGS_FOLD_LETTER, /* Fold the paper into three sections vertically; sometimes also known as a C fold*/
|
||||
IPP_FINISHINGS_FOLD_PARALLEL, /* Fold the paper in half vertically two times, yielding four sections */
|
||||
IPP_FINISHINGS_FOLD_POSTER, /* Fold the paper in half horizontally and vertically; sometimes also called a cross fold */
|
||||
IPP_FINISHINGS_FOLD_RIGHT_GATE, /* Fold the bottom quarter of the paper towards the midline */
|
||||
IPP_FINISHINGS_FOLD_Z, /* Fold the paper vertically into three sections, forming a Z */
|
||||
|
||||
/* Proposed extensions for finishings */
|
||||
/* CUPS extensions for finishings (pre-standard versions of values above) */
|
||||
IPP_FINISHINGS_CUPS_PUNCH_TOP_LEFT = 0x40000046,
|
||||
/* Punch 1 hole top left */
|
||||
IPP_FINISHINGS_CUPS_PUNCH_BOTTOM_LEFT,/* Punch 1 hole bottom left */
|
||||
@@ -262,8 +289,10 @@ typedef enum ipp_op_e /**** IPP operations ****/
|
||||
IPP_OP_CANCEL_MY_JOBS, /* Cancel-My-Jobs */
|
||||
IPP_OP_RESUBMIT_JOB, /* Resubmit-Job */
|
||||
IPP_OP_CLOSE_JOB, /* Close-Job */
|
||||
IPP_OP_IDENTIFY_PRINTER, /* Identify-Printer (proposed IPP JPS3) */
|
||||
IPP_OP_VALIDATE_DOCUMENT, /* Validate-Document (proposed IPP JPS3) */
|
||||
IPP_OP_IDENTIFY_PRINTER, /* Identify-Printer @private@ */
|
||||
IPP_OP_VALIDATE_DOCUMENT, /* Validate-Document @private@ */
|
||||
IPP_OP_SEND_HARDCOPY_DOCUMENT, /* Send-Hardcopy-Document @private@ */
|
||||
|
||||
IPP_OP_PRIVATE = 0x4000, /* Reserved @private@ */
|
||||
IPP_OP_CUPS_GET_DEFAULT, /* Get the default printer */
|
||||
IPP_OP_CUPS_GET_PRINTERS, /* Get a list of printers and/or classes */
|
||||
@@ -475,12 +504,12 @@ typedef enum ipp_status_e /**** IPP status codes ****/
|
||||
|
||||
/* Proposed extensions for paid printing */
|
||||
IPP_STATUS_ERROR_CUPS_ACCOUNT_INFO_NEEDED = 0x049C,
|
||||
/* cups-error-account-info-needed @since CUPS 1.7@ */
|
||||
IPP_STATUS_ERROR_CUPS_ACCOUNT_CLOSED, /* cups-error-account-closed @since CUPS 1.7@ */
|
||||
/* cups-error-account-info-needed @since CUPS 1.7/OS X 10.9@ */
|
||||
IPP_STATUS_ERROR_CUPS_ACCOUNT_CLOSED, /* cups-error-account-closed @since CUPS 1.7/OS X 10.9@ */
|
||||
IPP_STATUS_ERROR_CUPS_ACCOUNT_LIMIT_REACHED,
|
||||
/* cups-error-account-limit-reached @since CUPS 1.7@ */
|
||||
/* cups-error-account-limit-reached @since CUPS 1.7/OS X 10.9@ */
|
||||
IPP_STATUS_ERROR_CUPS_ACCOUNT_AUTHORIZATION_FAILED,
|
||||
/* cups-error-account-authorization-failed @since CUPS 1.7@ */
|
||||
/* cups-error-account-authorization-failed @since CUPS 1.7/OS X 10.9@ */
|
||||
|
||||
IPP_STATUS_ERROR_INTERNAL = 0x0500, /* server-error-internal-error */
|
||||
IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED,
|
||||
|
||||
+36
-38
@@ -7,7 +7,7 @@
|
||||
* -D_PPD_DEPRECATED="" TO YOUR COMPILE OPTIONS. THIS HEADER AND THESE
|
||||
* FUNCTIONS WILL BE REMOVED IN A FUTURE RELEASE OF CUPS.
|
||||
*
|
||||
* Copyright 2007-2012 by Apple Inc.
|
||||
* Copyright 2007-2013 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
@@ -56,19 +56,7 @@ extern "C" {
|
||||
*/
|
||||
|
||||
# ifndef _PPD_DEPRECATED
|
||||
# if defined(__APPLE__)
|
||||
# if defined(MAC_OS_X_VERSION_10_8) && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8
|
||||
/* Building for OS X 10.7 and earlier */
|
||||
# define _PPD_DEPRECATED
|
||||
# elif !defined(MAC_OS_X_VERSION_10_8)
|
||||
/* Building for OS X 10.7 and earlier */
|
||||
# define _PPD_DEPRECATED
|
||||
# else
|
||||
# define _PPD_DEPRECATED _CUPS_DEPRECATED
|
||||
# endif /* MAC_OS_X_VERSION_10_8 && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8 */
|
||||
# else
|
||||
# define _PPD_DEPRECATED _CUPS_DEPRECATED
|
||||
# endif /* __APPLE__ */
|
||||
# define _PPD_DEPRECATED _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.")
|
||||
# endif /* !_PPD_DEPRECATED */
|
||||
|
||||
|
||||
@@ -375,32 +363,39 @@ typedef struct ppd_file_s /**** PPD File ****/
|
||||
*/
|
||||
|
||||
extern int cupsMarkOptions(ppd_file_t *ppd, int num_options,
|
||||
cups_option_t *options);
|
||||
extern void ppdClose(ppd_file_t *ppd);
|
||||
cups_option_t *options) _PPD_DEPRECATED;
|
||||
extern void ppdClose(ppd_file_t *ppd) _PPD_DEPRECATED;
|
||||
extern int ppdCollect(ppd_file_t *ppd, ppd_section_t section,
|
||||
ppd_choice_t ***choices);
|
||||
extern int ppdConflicts(ppd_file_t *ppd);
|
||||
ppd_choice_t ***choices) _PPD_DEPRECATED;
|
||||
extern int ppdConflicts(ppd_file_t *ppd) _PPD_DEPRECATED;
|
||||
extern int ppdEmit(ppd_file_t *ppd, FILE *fp,
|
||||
ppd_section_t section);
|
||||
ppd_section_t section) _PPD_DEPRECATED;
|
||||
extern int ppdEmitFd(ppd_file_t *ppd, int fd,
|
||||
ppd_section_t section);
|
||||
ppd_section_t section) _PPD_DEPRECATED;
|
||||
extern int ppdEmitJCL(ppd_file_t *ppd, FILE *fp, int job_id,
|
||||
const char *user, const char *title);
|
||||
extern ppd_choice_t *ppdFindChoice(ppd_option_t *o, const char *option);
|
||||
const char *user, const char *title)
|
||||
_PPD_DEPRECATED;
|
||||
extern ppd_choice_t *ppdFindChoice(ppd_option_t *o, const char *option)
|
||||
_PPD_DEPRECATED;
|
||||
extern ppd_choice_t *ppdFindMarkedChoice(ppd_file_t *ppd,
|
||||
const char *keyword);
|
||||
extern ppd_option_t *ppdFindOption(ppd_file_t *ppd, const char *keyword);
|
||||
const char *keyword)
|
||||
_PPD_DEPRECATED;
|
||||
extern ppd_option_t *ppdFindOption(ppd_file_t *ppd, const char *keyword)
|
||||
_PPD_DEPRECATED;
|
||||
extern int ppdIsMarked(ppd_file_t *ppd, const char *keyword,
|
||||
const char *option);
|
||||
extern void ppdMarkDefaults(ppd_file_t *ppd);
|
||||
const char *option) _PPD_DEPRECATED;
|
||||
extern void ppdMarkDefaults(ppd_file_t *ppd) _PPD_DEPRECATED;
|
||||
extern int ppdMarkOption(ppd_file_t *ppd, const char *keyword,
|
||||
const char *option);
|
||||
extern ppd_file_t *ppdOpen(FILE *fp);
|
||||
extern ppd_file_t *ppdOpenFd(int fd);
|
||||
extern ppd_file_t *ppdOpenFile(const char *filename);
|
||||
extern float ppdPageLength(ppd_file_t *ppd, const char *name);
|
||||
extern ppd_size_t *ppdPageSize(ppd_file_t *ppd, const char *name);
|
||||
extern float ppdPageWidth(ppd_file_t *ppd, const char *name);
|
||||
const char *option) _PPD_DEPRECATED;
|
||||
extern ppd_file_t *ppdOpen(FILE *fp) _PPD_DEPRECATED;
|
||||
extern ppd_file_t *ppdOpenFd(int fd) _PPD_DEPRECATED;
|
||||
extern ppd_file_t *ppdOpenFile(const char *filename) _PPD_DEPRECATED;
|
||||
extern float ppdPageLength(ppd_file_t *ppd, const char *name)
|
||||
_PPD_DEPRECATED;
|
||||
extern ppd_size_t *ppdPageSize(ppd_file_t *ppd, const char *name)
|
||||
_PPD_DEPRECATED;
|
||||
extern float ppdPageWidth(ppd_file_t *ppd, const char *name)
|
||||
_PPD_DEPRECATED;
|
||||
|
||||
/**** New in CUPS 1.1.19 ****/
|
||||
extern const char *ppdErrorString(ppd_status_t status) _PPD_DEPRECATED;
|
||||
@@ -420,14 +415,17 @@ extern int ppdCollect2(ppd_file_t *ppd, ppd_section_t section,
|
||||
extern int ppdEmitAfterOrder(ppd_file_t *ppd, FILE *fp,
|
||||
ppd_section_t section, int limit,
|
||||
float min_order) _PPD_DEPRECATED;
|
||||
extern int ppdEmitJCLEnd(ppd_file_t *ppd, FILE *fp) _PPD_DEPRECATED;
|
||||
extern int ppdEmitJCLEnd(ppd_file_t *ppd, FILE *fp)
|
||||
_PPD_DEPRECATED;
|
||||
extern char *ppdEmitString(ppd_file_t *ppd, ppd_section_t section,
|
||||
float min_order) _PPD_DEPRECATED;
|
||||
extern ppd_coption_t *ppdFindCustomOption(ppd_file_t *ppd,
|
||||
const char *keyword) _PPD_DEPRECATED;
|
||||
const char *keyword)
|
||||
_PPD_DEPRECATED;
|
||||
extern ppd_cparam_t *ppdFindCustomParam(ppd_coption_t *opt,
|
||||
const char *name) _PPD_DEPRECATED;
|
||||
extern ppd_cparam_t *ppdFirstCustomParam(ppd_coption_t *opt) _PPD_DEPRECATED;
|
||||
extern ppd_cparam_t *ppdFirstCustomParam(ppd_coption_t *opt)
|
||||
_PPD_DEPRECATED;
|
||||
extern ppd_option_t *ppdFirstOption(ppd_file_t *ppd) _PPD_DEPRECATED;
|
||||
extern ppd_cparam_t *ppdNextCustomParam(ppd_coption_t *opt) _PPD_DEPRECATED;
|
||||
extern ppd_option_t *ppdNextOption(ppd_file_t *ppd) _PPD_DEPRECATED;
|
||||
@@ -445,7 +443,7 @@ extern const char *ppdLocalizeIPPReason(ppd_file_t *ppd,
|
||||
extern int cupsGetConflicts(ppd_file_t *ppd, const char *option,
|
||||
const char *choice,
|
||||
cups_option_t **options)
|
||||
_PPD_DEPRECATED;
|
||||
_PPD_DEPRECATED;
|
||||
extern int cupsResolveConflicts(ppd_file_t *ppd,
|
||||
const char *option,
|
||||
const char *choice,
|
||||
@@ -455,7 +453,7 @@ extern int cupsResolveConflicts(ppd_file_t *ppd,
|
||||
extern int ppdInstallableConflict(ppd_file_t *ppd,
|
||||
const char *option,
|
||||
const char *choice)
|
||||
_PPD_DEPRECATED;
|
||||
_PPD_DEPRECATED;
|
||||
extern ppd_attr_t *ppdLocalizeAttr(ppd_file_t *ppd, const char *keyword,
|
||||
const char *spec) _PPD_DEPRECATED;
|
||||
extern const char *ppdLocalizeMarkerName(ppd_file_t *ppd,
|
||||
|
||||
+147
-65
@@ -29,6 +29,7 @@
|
||||
* pwg_compare_pwg() - Compare two sizes using the PWG names.
|
||||
* pwg_format_inches() - Convert and format PWG units as inches.
|
||||
* pwg_format_millimeters() - Convert and format PWG units as millimeters.
|
||||
* pwg_scan_measurement() - Scan a measurement in inches or millimeters.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -56,6 +57,8 @@ static int pwg_compare_pwg(pwg_media_t *a, pwg_media_t *b);
|
||||
static int pwg_compare_ppd(pwg_media_t *a, pwg_media_t *b);
|
||||
static char *pwg_format_inches(char *buf, size_t bufsize, int val);
|
||||
static char *pwg_format_millimeters(char *buf, size_t bufsize, int val);
|
||||
static int pwg_scan_measurement(const char *buf, char **bufptr, int numer,
|
||||
int denom);
|
||||
|
||||
|
||||
/*
|
||||
@@ -275,7 +278,7 @@ static pwg_media_t const cups_pwg_media[] =
|
||||
* units string is @code NULL@, otherwise inches ("in") or millimeters ("mm")
|
||||
* are used.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - 1 on success, 0 on failure */
|
||||
@@ -414,7 +417,7 @@ void _pwgGenerateSize(char *keyword, size_t keysize, const char *prefix,
|
||||
* member attribute was specified in the "media-col" Job Template attribute,
|
||||
* otherwise it is initialized to 0.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
int /* O - 1 if size was initialized, 0 otherwise */
|
||||
@@ -589,7 +592,7 @@ int _pwgInitSize(pwg_size_t *size, ipp_t *job, int *margins_set)
|
||||
* The "name" argument specifies the legacy ISO media size name, for example
|
||||
* "iso-a4" or "na-letter".
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
pwg_media_t * /* O - Matching size or NULL */
|
||||
@@ -651,7 +654,7 @@ pwg_media_t *_pwgMediaForLegacy(const char *legacy)
|
||||
* thread. Custom names can be of the form "Custom.WIDTHxLENGTH[units]" or
|
||||
* "WIDTHxLENGTH[units]".
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
pwg_media_t * /* O - Matching size or NULL */
|
||||
@@ -706,72 +709,96 @@ pwgMediaForPPD(const char *ppd) /* I - PPD size name */
|
||||
* [Custom.]WIDTHxLENGTHpt[.FullBleed] - Size in points [borderless]
|
||||
*/
|
||||
|
||||
double w, l, /* Width and length of page */
|
||||
factor; /* Unit scaling factor */
|
||||
int w, l, /* Width and length of page */
|
||||
numer, /* Unit scaling factor */
|
||||
denom; /* ... */
|
||||
char *ptr; /* Pointer into name */
|
||||
struct lconv *loc; /* Locale data */
|
||||
const char *units; /* Pointer to units */
|
||||
int custom; /* Custom page size? */
|
||||
|
||||
|
||||
if (!_cups_strncasecmp(ppd, "Custom.", 7))
|
||||
{
|
||||
custom = 1;
|
||||
factor = 2540.0 / 72.0;
|
||||
numer = 2540;
|
||||
denom = 72;
|
||||
ptr = (char *)ppd + 7;
|
||||
}
|
||||
else
|
||||
{
|
||||
custom = 0;
|
||||
factor = 2540.0;
|
||||
numer = 2540;
|
||||
denom = 1;
|
||||
ptr = (char *)ppd;
|
||||
}
|
||||
|
||||
loc = localeconv();
|
||||
w = _cupsStrScand(ptr, &ptr, loc);
|
||||
/*
|
||||
* Find any units in the size...
|
||||
*/
|
||||
|
||||
units = strchr(ptr, '.');
|
||||
while (units && isdigit(units[1] & 255))
|
||||
units = strchr(units + 1, '.');
|
||||
|
||||
if (units)
|
||||
units -= 2;
|
||||
else
|
||||
units = ptr + strlen(ptr) - 2;
|
||||
|
||||
if (units > ptr)
|
||||
{
|
||||
if (isdigit(*units & 255) || *units == '.')
|
||||
units ++;
|
||||
|
||||
if (!_cups_strncasecmp(units, "cm", 2))
|
||||
{
|
||||
numer = 1000;
|
||||
denom = 1;
|
||||
}
|
||||
else if (!_cups_strncasecmp(units, "ft", 2))
|
||||
{
|
||||
numer = 2540 * 12;
|
||||
denom = 1;
|
||||
}
|
||||
else if (!_cups_strncasecmp(units, "in", 2))
|
||||
{
|
||||
numer = 2540;
|
||||
denom = 1;
|
||||
}
|
||||
else if (!_cups_strncasecmp(units, "mm", 2))
|
||||
{
|
||||
numer = 100;
|
||||
denom = 1;
|
||||
}
|
||||
else if (*units == 'm' || *units == 'M')
|
||||
{
|
||||
numer = 100000;
|
||||
denom = 1;
|
||||
}
|
||||
else if (!_cups_strncasecmp(units, "pt", 2))
|
||||
{
|
||||
numer = 2540;
|
||||
denom = 72;
|
||||
}
|
||||
}
|
||||
|
||||
w = pwg_scan_measurement(ptr, &ptr, numer, denom);
|
||||
|
||||
if (ptr && ptr > ppd && *ptr == 'x')
|
||||
{
|
||||
l = _cupsStrScand(ptr + 1, &ptr, loc);
|
||||
l = pwg_scan_measurement(ptr + 1, &ptr, numer, denom);
|
||||
|
||||
if (ptr &&
|
||||
(!*ptr ||
|
||||
!_cups_strcasecmp(ptr, "FullBleed") ||
|
||||
!_cups_strcasecmp(ptr, ".FullBleed") ||
|
||||
!_cups_strcasecmp(ptr, "cm") ||
|
||||
!_cups_strcasecmp(ptr, "cm.FullBleed") ||
|
||||
!_cups_strcasecmp(ptr, "ft") ||
|
||||
!_cups_strcasecmp(ptr, "ft.FullBleed") ||
|
||||
!_cups_strcasecmp(ptr, "in") ||
|
||||
!_cups_strcasecmp(ptr, "in.FullBleed") ||
|
||||
!_cups_strcasecmp(ptr, "m") ||
|
||||
!_cups_strcasecmp(ptr, "m.FullBleed") ||
|
||||
!_cups_strcasecmp(ptr, "mm") ||
|
||||
!_cups_strcasecmp(ptr, "mm.FullBleed") ||
|
||||
!_cups_strcasecmp(ptr, "pt") ||
|
||||
!_cups_strcasecmp(ptr, "pt.FullBleed")))
|
||||
if (ptr)
|
||||
{
|
||||
size = &(cg->pwg_media);
|
||||
|
||||
if (!_cups_strncasecmp(ptr, "cm", 2))
|
||||
factor = 1000.0;
|
||||
else if (!_cups_strncasecmp(ptr, "ft", 2))
|
||||
factor = 2540.0 * 12.0;
|
||||
else if (!_cups_strncasecmp(ptr, "in", 2))
|
||||
factor = 2540.0;
|
||||
else if (!_cups_strncasecmp(ptr, "mm", 2))
|
||||
factor = 100.0;
|
||||
else if (*ptr == 'm' || *ptr == 'M')
|
||||
factor = 100000.0;
|
||||
else if (!_cups_strncasecmp(ptr, "pt", 2))
|
||||
factor = 2540.0 / 72.0;
|
||||
|
||||
/*
|
||||
* Not a standard size; convert it to a PWG custom name of the form:
|
||||
*
|
||||
* [oe|om]_WIDTHxHEIGHTuu_WIDTHxHEIGHTuu
|
||||
*/
|
||||
|
||||
size->width = (int)(w * factor);
|
||||
size->length = (int)(l * factor);
|
||||
size = &(cg->pwg_media);
|
||||
size->width = w;
|
||||
size->length = l;
|
||||
size->pwg = cg->pwg_name;
|
||||
|
||||
pwgFormatSizeName(cg->pwg_name, sizeof(cg->pwg_name),
|
||||
@@ -799,7 +826,7 @@ pwg_media_t *_pwgMediaForPPD(const char *ppd)
|
||||
* thread-local storage and is overwritten by each call to the function in the
|
||||
* thread.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
pwg_media_t * /* O - Matching size or NULL */
|
||||
@@ -851,31 +878,29 @@ pwgMediaForPWG(const char *pwg) /* I - PWG size name */
|
||||
* class_name_WWWxHHHmm
|
||||
*/
|
||||
|
||||
double w, l; /* Width and length of page */
|
||||
struct lconv *loc; /* Locale data */
|
||||
int w, l; /* Width and length of page */
|
||||
int numer; /* Scale factor for units */
|
||||
const char *units = ptr + strlen(ptr) - 2;
|
||||
/* Units from size */
|
||||
|
||||
ptr ++;
|
||||
loc = localeconv();
|
||||
w = _cupsStrScand(ptr, &ptr, loc);
|
||||
|
||||
if (units >= ptr && !strcmp(units, "in"))
|
||||
numer = 2540;
|
||||
else
|
||||
numer = 100;
|
||||
|
||||
w = pwg_scan_measurement(ptr, &ptr, numer, 1);
|
||||
|
||||
if (ptr && *ptr == 'x')
|
||||
{
|
||||
l = _cupsStrScand(ptr + 1, &ptr, loc);
|
||||
l = pwg_scan_measurement(ptr + 1, &ptr, numer, 1);
|
||||
|
||||
if (ptr && (!strcmp(ptr, "in") || !strcmp(ptr, "mm")))
|
||||
if (ptr)
|
||||
{
|
||||
size = &(cg->pwg_media);
|
||||
|
||||
if (!strcmp(ptr, "mm"))
|
||||
{
|
||||
size->width = (int)(w * 100);
|
||||
size->length = (int)(l * 100);
|
||||
}
|
||||
else
|
||||
{
|
||||
size->width = (int)(w * 2540);
|
||||
size->length = (int)(l * 2540);
|
||||
}
|
||||
size = &(cg->pwg_media);
|
||||
size->width = w;
|
||||
size->length = l;
|
||||
|
||||
strlcpy(cg->pwg_name, pwg, sizeof(cg->pwg_name));
|
||||
size->pwg = cg->pwg_name;
|
||||
@@ -901,7 +926,7 @@ pwg_media_t *_pwgMediaForPWG(const char *pwg)
|
||||
* thread-local storage and is overwritten by each call to the function in the
|
||||
* thread.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
pwg_media_t * /* O - PWG media name */
|
||||
@@ -1091,6 +1116,63 @@ pwg_format_millimeters(char *buf, /* I - Buffer */
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'pwg_scan_measurement()' - Scan a measurement in inches or millimeters.
|
||||
*
|
||||
* The "factor" argument specifies the scale factor for the units to convert to
|
||||
* hundredths of millimeters. The returned value is NOT rounded but is an
|
||||
* exact conversion of the fraction value (no floating point is used).
|
||||
*/
|
||||
|
||||
static int /* O - Hundredths of millimeters */
|
||||
pwg_scan_measurement(
|
||||
const char *buf, /* I - Number string */
|
||||
char **bufptr, /* O - First byte after the number */
|
||||
int numer, /* I - Numerator from units */
|
||||
int denom) /* I - Denominator from units */
|
||||
{
|
||||
int value = 0, /* Measurement value */
|
||||
fractional = 0, /* Fractional value */
|
||||
divisor = 1, /* Fractional divisor */
|
||||
digits = 10 * numer * denom; /* Maximum fractional value to read */
|
||||
|
||||
|
||||
/*
|
||||
* Scan integer portion...
|
||||
*/
|
||||
|
||||
while (*buf >= '0' && *buf <= '9')
|
||||
value = value * 10 + (*buf++) - '0';
|
||||
|
||||
if (*buf == '.')
|
||||
{
|
||||
/*
|
||||
* Scan fractional portion...
|
||||
*/
|
||||
|
||||
buf ++;
|
||||
|
||||
while (divisor < digits && *buf >= '0' && *buf <= '9')
|
||||
{
|
||||
fractional = fractional * 10 + (*buf++) - '0';
|
||||
divisor *= 10;
|
||||
}
|
||||
|
||||
/*
|
||||
* Skip trailing digits that won't contribute...
|
||||
*/
|
||||
|
||||
while (*buf >= '0' && *buf <= '9')
|
||||
buf ++;
|
||||
}
|
||||
|
||||
if (bufptr)
|
||||
*bufptr = (char *)buf;
|
||||
|
||||
return (value * numer / denom + fractional * numer / denom / divisor);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id$".
|
||||
*/
|
||||
|
||||
+15
-1
@@ -3,7 +3,7 @@
|
||||
*
|
||||
* Private string definitions for CUPS.
|
||||
*
|
||||
* Copyright 2007-2011 by Apple Inc.
|
||||
* Copyright 2007-2013 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
@@ -101,6 +101,12 @@ _cups_isalpha(int ch) /* I - Character to test */
|
||||
(ch >= 'a' && ch <= 'z'));
|
||||
}
|
||||
|
||||
_CUPS_INLINE int /* O - 1 on match, 0 otherwise */
|
||||
_cups_islower(int ch) /* I - Character to test */
|
||||
{
|
||||
return (ch >= 'a' && ch <= 'z');
|
||||
}
|
||||
|
||||
_CUPS_INLINE int /* O - 1 on match, 0 otherwise */
|
||||
_cups_isspace(int ch) /* I - Character to test */
|
||||
{
|
||||
@@ -119,12 +125,20 @@ _cups_tolower(int ch) /* I - Character to convert */
|
||||
{
|
||||
return (_cups_isupper(ch) ? ch - 'A' + 'a' : ch);
|
||||
}
|
||||
|
||||
_CUPS_INLINE int /* O - Converted character */
|
||||
_cups_toupper(int ch) /* I - Character to convert */
|
||||
{
|
||||
return (_cups_islower(ch) ? ch - 'a' + 'A' : ch);
|
||||
}
|
||||
# else
|
||||
extern int _cups_isalnum(int ch);
|
||||
extern int _cups_isalpha(int ch);
|
||||
extern int _cups_islower(int ch);
|
||||
extern int _cups_isspace(int ch);
|
||||
extern int _cups_isupper(int ch);
|
||||
extern int _cups_tolower(int ch);
|
||||
extern int _cups_toupper(int ch);
|
||||
# endif /* _CUPS_INLINE */
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
*PPD-Adobe: "4.3"
|
||||
*%
|
||||
*% "$Id$"
|
||||
*% "$Id: test.ppd 7819 2008-08-01 00:27:24Z mike $"
|
||||
*%
|
||||
*% Test PPD file for CUPS.
|
||||
*%
|
||||
@@ -258,5 +258,5 @@ help:anchor='foo'%20bookID=Vendor%20Help
|
||||
*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
|
||||
*Font ZapfDingbats: Special "(001.004S)" Standard ROM
|
||||
*%
|
||||
*% End of "$Id$".
|
||||
*% End of "$Id: test.ppd 7819 2008-08-01 00:27:24Z mike $".
|
||||
*%
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
*PPD-Adobe: "4.3"
|
||||
*%
|
||||
*% "$Id$"
|
||||
*% "$Id: test2.ppd 7791 2008-07-24 00:55:30Z mike $"
|
||||
*%
|
||||
*% Test PPD file #2 for CUPS.
|
||||
*%
|
||||
@@ -248,5 +248,5 @@ help:anchor='foo'%20bookID=Vendor%20Help
|
||||
*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
|
||||
*Font ZapfDingbats: Special "(001.004S)" Standard ROM
|
||||
*%
|
||||
*% End of "$Id$".
|
||||
*% End of "$Id: test2.ppd 7791 2008-07-24 00:55:30Z mike $".
|
||||
*%
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
* Include necessary headers...
|
||||
*/
|
||||
|
||||
#undef _CUPS_NO_DEPRECATED
|
||||
#include "string-private.h"
|
||||
#include "cups.h"
|
||||
#include "ppd.h"
|
||||
|
||||
+101
-39
@@ -40,7 +40,8 @@ typedef struct uri_test_s /**** URI test cases ****/
|
||||
*hostname, /* Hostname string */
|
||||
*resource; /* Resource string */
|
||||
int port, /* Port number */
|
||||
assemble_port; /* Port number for httpAssembleURI() */
|
||||
assemble_port, /* Port number for httpAssembleURI() */
|
||||
assemble_coding;/* Coding for httpAssembleURI() */
|
||||
} uri_test_t;
|
||||
|
||||
|
||||
@@ -52,97 +53,143 @@ static uri_test_t uri_tests[] = /* URI test data */
|
||||
{
|
||||
/* Start with valid URIs */
|
||||
{ HTTP_URI_STATUS_OK, "file:/filename",
|
||||
"file", "", "", "/filename", 0, 0 },
|
||||
"file", "", "", "/filename", 0, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "file:/filename%20with%20spaces",
|
||||
"file", "", "", "/filename with spaces", 0, 0 },
|
||||
"file", "", "", "/filename with spaces", 0, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "file:///filename",
|
||||
"file", "", "", "/filename", 0, 0 },
|
||||
"file", "", "", "/filename", 0, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "file:///filename%20with%20spaces",
|
||||
"file", "", "", "/filename with spaces", 0, 0 },
|
||||
"file", "", "", "/filename with spaces", 0, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "file://localhost/filename",
|
||||
"file", "", "localhost", "/filename", 0, 0 },
|
||||
"file", "", "localhost", "/filename", 0, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "file://localhost/filename%20with%20spaces",
|
||||
"file", "", "localhost", "/filename with spaces", 0, 0 },
|
||||
"file", "", "localhost", "/filename with spaces", 0, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "http://server/",
|
||||
"http", "", "server", "/", 80, 0 },
|
||||
"http", "", "server", "/", 80, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "http://username@server/",
|
||||
"http", "username", "server", "/", 80, 0 },
|
||||
"http", "username", "server", "/", 80, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "http://username:passwor%64@server/",
|
||||
"http", "username:password", "server", "/", 80, 0 },
|
||||
"http", "username:password", "server", "/", 80, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "http://username:passwor%64@server:8080/",
|
||||
"http", "username:password", "server", "/", 8080, 8080 },
|
||||
"http", "username:password", "server", "/", 8080, 8080,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "http://username:passwor%64@server:8080/directory/filename",
|
||||
"http", "username:password", "server", "/directory/filename", 8080, 8080 },
|
||||
"http", "username:password", "server", "/directory/filename", 8080, 8080,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "http://[2000::10:100]:631/ipp",
|
||||
"http", "", "2000::10:100", "/ipp", 631, 631 },
|
||||
"http", "", "2000::10:100", "/ipp", 631, 631,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "https://username:passwor%64@server/directory/filename",
|
||||
"https", "username:password", "server", "/directory/filename", 443, 0 },
|
||||
"https", "username:password", "server", "/directory/filename", 443, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "ipp://username:passwor%64@[::1]/ipp",
|
||||
"ipp", "username:password", "::1", "/ipp", 631, 0 },
|
||||
"ipp", "username:password", "::1", "/ipp", 631, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "lpd://server/queue?reserve=yes",
|
||||
"lpd", "", "server", "/queue?reserve=yes", 515, 0 },
|
||||
"lpd", "", "server", "/queue?reserve=yes", 515, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "mailto:user@domain.com",
|
||||
"mailto", "", "", "user@domain.com", 0, 0 },
|
||||
"mailto", "", "", "user@domain.com", 0, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "socket://server/",
|
||||
"socket", "", "server", "/", 9100, 0 },
|
||||
"socket", "", "server", "/", 9100, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "socket://192.168.1.1:9101/",
|
||||
"socket", "", "192.168.1.1", "/", 9101, 9101 },
|
||||
"socket", "", "192.168.1.1", "/", 9101, 9101,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "ipp://username:password@[v1.fe80::200:1234:5678:9abc+eth0]:999/ipp",
|
||||
"ipp", "username:password", "fe80::200:1234:5678:9abc%eth0", "/ipp", 999, 999 },
|
||||
"ipp", "username:password", "fe80::200:1234:5678:9abc%eth0", "/ipp", 999, 999,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "ipp://username:password@[fe80::200:1234:5678:9abc%25eth0]:999/ipp",
|
||||
"ipp", "username:password", "fe80::200:1234:5678:9abc%eth0", "/ipp", 999, 999,
|
||||
HTTP_URI_CODING_MOST | HTTP_URI_CODING_RFC6874 },
|
||||
{ HTTP_URI_STATUS_OK, "http://server/admin?DEVICE_URI=usb://HP/Photosmart%25202600%2520series?serial=MY53OK70V10400",
|
||||
"http", "", "server", "/admin?DEVICE_URI=usb://HP/Photosmart%25202600%2520series?serial=MY53OK70V10400", 80, 0 },
|
||||
"http", "", "server", "/admin?DEVICE_URI=usb://HP/Photosmart%25202600%2520series?serial=MY53OK70V10400", 80, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "lpd://Acme%20Laser%20(01%3A23%3A45).local._tcp._printer/",
|
||||
"lpd", "", "Acme Laser (01:23:45).local._tcp._printer", "/", 515, 0 },
|
||||
"lpd", "", "Acme Laser (01:23:45).local._tcp._printer", "/", 515, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "ipp://HP%20Officejet%204500%20G510n-z%20%40%20Will's%20MacBook%20Pro%2015%22._ipp._tcp.local./",
|
||||
"ipp", "", "HP Officejet 4500 G510n-z @ Will's MacBook Pro 15\"._ipp._tcp.local.", "/", 631, 0 },
|
||||
"ipp", "", "HP Officejet 4500 G510n-z @ Will's MacBook Pro 15\"._ipp._tcp.local.", "/", 631, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_OK, "ipp://%22%23%2F%3A%3C%3E%3F%40%5B%5C%5D%5E%60%7B%7C%7D/",
|
||||
"ipp", "", "\"#/:<>?@[\\]^`{|}", "/", 631, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
|
||||
/* Missing scheme */
|
||||
{ HTTP_URI_STATUS_MISSING_SCHEME, "/path/to/file/index.html",
|
||||
"file", "", "", "/path/to/file/index.html", 0, 0 },
|
||||
"file", "", "", "/path/to/file/index.html", 0, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_MISSING_SCHEME, "//server/ipp",
|
||||
"ipp", "", "server", "/ipp", 631, 0 },
|
||||
"ipp", "", "server", "/ipp", 631, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
|
||||
/* Unknown scheme */
|
||||
{ HTTP_URI_STATUS_UNKNOWN_SCHEME, "vendor://server/resource",
|
||||
"vendor", "", "server", "/resource", 0, 0 },
|
||||
"vendor", "", "server", "/resource", 0, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
|
||||
/* Missing resource */
|
||||
{ HTTP_URI_STATUS_MISSING_RESOURCE, "socket://[::192.168.2.1]",
|
||||
"socket", "", "::192.168.2.1", "/", 9100, 0 },
|
||||
"socket", "", "::192.168.2.1", "/", 9100, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_MISSING_RESOURCE, "socket://192.168.1.1:9101",
|
||||
"socket", "", "192.168.1.1", "/", 9101 },
|
||||
"socket", "", "192.168.1.1", "/", 9101, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
|
||||
/* Bad URI */
|
||||
{ HTTP_URI_STATUS_BAD_URI, "",
|
||||
"", "", "", "", 0, 0 },
|
||||
"", "", "", "", 0, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
|
||||
/* Bad scheme */
|
||||
{ HTTP_URI_STATUS_BAD_SCHEME, "bad_scheme://server/resource",
|
||||
"", "", "", "", 0, 0 },
|
||||
"", "", "", "", 0, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
|
||||
/* Bad username */
|
||||
{ HTTP_URI_STATUS_BAD_USERNAME, "http://username:passwor%6@server/resource",
|
||||
"http", "", "", "", 80, 0 },
|
||||
"http", "", "", "", 80, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
|
||||
/* Bad hostname */
|
||||
{ HTTP_URI_STATUS_BAD_HOSTNAME, "http://[/::1]/index.html",
|
||||
"http", "", "", "", 80, 0 },
|
||||
"http", "", "", "", 80, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_BAD_HOSTNAME, "http://[",
|
||||
"http", "", "", "", 80, 0 },
|
||||
"http", "", "", "", 80, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_BAD_HOSTNAME, "http://serve%7/index.html",
|
||||
"http", "", "", "", 80, 0 },
|
||||
"http", "", "", "", 80, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_BAD_HOSTNAME, "http://server with spaces/index.html",
|
||||
"http", "", "", "", 80, 0 },
|
||||
"http", "", "", "", 80, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_BAD_HOSTNAME, "ipp://\"#/:<>?@[\\]^`{|}/",
|
||||
"ipp", "", "", "", 631, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
|
||||
/* Bad port number */
|
||||
{ HTTP_URI_STATUS_BAD_PORT, "http://127.0.0.1:9999a/index.html",
|
||||
"http", "", "127.0.0.1", "", 0, 0 },
|
||||
"http", "", "127.0.0.1", "", 0, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
|
||||
/* Bad resource */
|
||||
{ HTTP_URI_STATUS_BAD_RESOURCE, "http://server/index.html%",
|
||||
"http", "", "server", "", 80, 0 },
|
||||
"http", "", "server", "", 80, 0,
|
||||
HTTP_URI_CODING_MOST },
|
||||
{ HTTP_URI_STATUS_BAD_RESOURCE, "http://server/index with spaces.html",
|
||||
"http", "", "server", "", 80, 0 }
|
||||
"http", "", "server", "", 80, 0,
|
||||
HTTP_URI_CODING_MOST }
|
||||
};
|
||||
static const char * const base64_tests[][2] =
|
||||
{
|
||||
@@ -412,7 +459,7 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
strstr(uri_tests[i].uri, "//"))
|
||||
{
|
||||
k ++;
|
||||
uri_status = httpAssembleURI(HTTP_URI_CODING_MOST,
|
||||
uri_status = httpAssembleURI(uri_tests[i].assemble_coding,
|
||||
buffer, sizeof(buffer),
|
||||
uri_tests[i].scheme,
|
||||
uri_tests[i].username,
|
||||
@@ -451,6 +498,21 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
if (!j)
|
||||
printf("PASS (%d URIs tested)\n", k);
|
||||
|
||||
/*
|
||||
* httpAssembleUUID
|
||||
*/
|
||||
|
||||
fputs("httpAssembleUUID: ", stdout);
|
||||
httpAssembleUUID("hostname.example.com", 631, "printer", 12345, buffer,
|
||||
sizeof(buffer));
|
||||
if (strncmp(buffer, "urn:uuid:", 9))
|
||||
{
|
||||
printf("FAIL (%s)\n", buffer);
|
||||
failures ++;
|
||||
}
|
||||
else
|
||||
printf("PASS (%s)\n", buffer);
|
||||
|
||||
/*
|
||||
* Show a summary and return...
|
||||
*/
|
||||
|
||||
+2
-1
@@ -3,7 +3,7 @@
|
||||
*
|
||||
* PPD test program for CUPS.
|
||||
*
|
||||
* Copyright 2007-2012 by Apple Inc.
|
||||
* Copyright 2007-2013 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
@@ -23,6 +23,7 @@
|
||||
* Include necessary headers...
|
||||
*/
|
||||
|
||||
#undef _CUPS_NO_DEPRECATED
|
||||
#include "cups-private.h"
|
||||
#include <sys/stat.h>
|
||||
#ifdef WIN32
|
||||
|
||||
@@ -170,6 +170,20 @@ main(int argc, /* I - Number of command-line args */
|
||||
else
|
||||
puts("PASS");
|
||||
|
||||
fputs("pwgMediaForPWG(\"roll_max_36.1025x3622.0472in\"): ", stdout);
|
||||
if ((pwgmedia = pwgMediaForPWG("roll_max_36.1025x3622.0472in")) == NULL)
|
||||
{
|
||||
puts("FAIL (not found)");
|
||||
status ++;
|
||||
}
|
||||
else if (pwgmedia->width != 91700 || pwgmedia->length != 9199999)
|
||||
{
|
||||
printf("FAIL (%dx%d)\n", pwgmedia->width, pwgmedia->length);
|
||||
status ++;
|
||||
}
|
||||
else
|
||||
printf("PASS (%dx%d)\n", pwgmedia->width, pwgmedia->length);
|
||||
|
||||
fputs("pwgMediaForLegacy(\"na-letter\"): ", stdout);
|
||||
if ((pwgmedia = pwgMediaForLegacy("na-letter")) == NULL)
|
||||
{
|
||||
|
||||
+4
-2
@@ -370,6 +370,8 @@ cupsSetServer(const char *server) /* I - Server name */
|
||||
else if (!strcmp(options, "version=2.2"))
|
||||
cg->server_version = 22;
|
||||
}
|
||||
else
|
||||
cg->server_version = 20;
|
||||
|
||||
if (cg->server[0] != '/' && (port = strrchr(cg->server, ':')) != NULL &&
|
||||
!strchr(port, ']') && isdigit(port[1] & 255))
|
||||
@@ -453,7 +455,7 @@ cupsSetUser(const char *user) /* I - User name */
|
||||
* Setting the string to NULL forces the default value containing the CUPS
|
||||
* version, IPP version, and operating system version and architecture.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
void
|
||||
@@ -528,7 +530,7 @@ cupsUser(void)
|
||||
/*
|
||||
* 'cupsUserAgent()' - Return the default HTTP User-Agent string.
|
||||
*
|
||||
* @since CUPS 1.7@
|
||||
* @since CUPS 1.7/OS X 10.9@
|
||||
*/
|
||||
|
||||
const char * /* O - User-Agent string */
|
||||
|
||||
+213
-213
@@ -1,213 +1,213 @@
|
||||
UTF-8 encoded sample plain-text file
|
||||
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
|
||||
|
||||
Markus Kuhn [ˈmaʳkʊs kuːn] <mkuhn@acm.org> — 2002-07-25
|
||||
|
||||
|
||||
The ASCII compatible UTF-8 encoding used in this plain-text file
|
||||
is defined in Unicode, ISO 10646-1, and RFC 2279.
|
||||
|
||||
|
||||
Using Unicode/UTF-8, you can write in emails and source code things such as
|
||||
|
||||
Mathematics and sciences:
|
||||
|
||||
∮ E⋅da = Q, n → ∞, ∑ f(i) = ∏ g(i), ⎧⎡⎛┌─────┐⎞⎤⎫
|
||||
⎪⎢⎜│a²+b³ ⎟⎥⎪
|
||||
∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), ⎪⎢⎜│───── ⎟⎥⎪
|
||||
⎪⎢⎜⎷ c₈ ⎟⎥⎪
|
||||
ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬
|
||||
⎪⎢⎜ ∞ ⎟⎥⎪
|
||||
⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫), ⎪⎢⎜ ⎲ ⎟⎥⎪
|
||||
⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪
|
||||
2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1 ⎠⎦⎭
|
||||
|
||||
Linguistics and dictionaries:
|
||||
|
||||
ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn
|
||||
Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ]
|
||||
|
||||
APL:
|
||||
|
||||
((V⍳V)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈
|
||||
|
||||
Nicer typography in plain text files:
|
||||
|
||||
╔══════════════════════════════════════════╗
|
||||
║ ║
|
||||
║ • ‘single’ and “double” quotes ║
|
||||
║ ║
|
||||
║ • Curly apostrophes: “We’ve been here” ║
|
||||
║ ║
|
||||
║ • Latin-1 apostrophe and accents: '´` ║
|
||||
║ ║
|
||||
║ • ‚deutsche‘ „Anführungszeichen“ ║
|
||||
║ ║
|
||||
║ • †, ‡, ‰, •, 3–4, —, −5/+5, ™, … ║
|
||||
║ ║
|
||||
║ • ASCII safety test: 1lI|, 0OD, 8B ║
|
||||
║ ╭─────────╮ ║
|
||||
║ • the euro symbol: │ 14.95 € │ ║
|
||||
║ ╰─────────╯ ║
|
||||
╚══════════════════════════════════════════╝
|
||||
|
||||
Combining characters:
|
||||
|
||||
STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑
|
||||
|
||||
Greek (in Polytonic):
|
||||
|
||||
The Greek anthem:
|
||||
|
||||
Σὲ γνωρίζω ἀπὸ τὴν κόψη
|
||||
τοῦ σπαθιοῦ τὴν τρομερή,
|
||||
σὲ γνωρίζω ἀπὸ τὴν ὄψη
|
||||
ποὺ μὲ βία μετράει τὴ γῆ.
|
||||
|
||||
᾿Απ᾿ τὰ κόκκαλα βγαλμένη
|
||||
τῶν ῾Ελλήνων τὰ ἱερά
|
||||
καὶ σὰν πρῶτα ἀνδρειωμένη
|
||||
χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά!
|
||||
|
||||
From a speech of Demosthenes in the 4th century BC:
|
||||
|
||||
Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι,
|
||||
ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς
|
||||
λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ
|
||||
τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿
|
||||
εἰς τοῦτο προήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ
|
||||
πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν
|
||||
οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι,
|
||||
οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν
|
||||
ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον
|
||||
τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι
|
||||
γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν
|
||||
προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους
|
||||
σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ
|
||||
τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ
|
||||
τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς
|
||||
τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον.
|
||||
|
||||
Δημοσθένους, Γ´ ᾿Ολυνθιακὸς
|
||||
|
||||
Georgian:
|
||||
|
||||
From a Unicode conference invitation:
|
||||
|
||||
გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო
|
||||
კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს,
|
||||
ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს
|
||||
ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი,
|
||||
ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება
|
||||
ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში,
|
||||
ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში.
|
||||
|
||||
Russian:
|
||||
|
||||
From a Unicode conference invitation:
|
||||
|
||||
Зарегистрируйтесь сейчас на Десятую Международную Конференцию по
|
||||
Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии.
|
||||
Конференция соберет широкий круг экспертов по вопросам глобального
|
||||
Интернета и Unicode, локализации и интернационализации, воплощению и
|
||||
применению Unicode в различных операционных системах и программных
|
||||
приложениях, шрифтах, верстке и многоязычных компьютерных системах.
|
||||
|
||||
Thai (UCS Level 2):
|
||||
|
||||
Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese
|
||||
classic 'San Gua'):
|
||||
|
||||
[----------------------------|------------------------]
|
||||
๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช พระปกเกศกองบู๊กู้ขึ้นใหม่
|
||||
สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา
|
||||
ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา
|
||||
โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ
|
||||
เหมือนขับไสไล่เสือจากเคหา รับหมาป่าเข้ามาเลยอาสัญ
|
||||
ฝ่ายอ้องอุ้นยุแยกให้แตกกัน ใช้สาวนั้นเป็นชนวนชื่นชวนใจ
|
||||
พลันลิฉุยกุยกีกลับก่อเหตุ ช่างอาเพศจริงหนาฟ้าร้องไห้
|
||||
ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ
|
||||
|
||||
(The above is a two-column text. If combining characters are handled
|
||||
correctly, the lines of the second column should be aligned with the
|
||||
| character above.)
|
||||
|
||||
Ethiopian:
|
||||
|
||||
Proverbs in the Amharic language:
|
||||
|
||||
ሰማይ አይታረስ ንጉሥ አይከሰስ።
|
||||
ብላ ካለኝ እንደአባቴ በቆመጠኝ።
|
||||
ጌጥ ያለቤቱ ቁምጥና ነው።
|
||||
ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው።
|
||||
የአፍ ወለምታ በቅቤ አይታሽም።
|
||||
አይጥ በበላ ዳዋ ተመታ።
|
||||
ሲተረጉሙ ይደረግሙ።
|
||||
ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል።
|
||||
ድር ቢያብር አንበሳ ያስር።
|
||||
ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም።
|
||||
እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም።
|
||||
የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ።
|
||||
ሥራ ከመፍታት ልጄን ላፋታት።
|
||||
ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል።
|
||||
የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ።
|
||||
ተንጋሎ ቢተፉ ተመልሶ ባፉ።
|
||||
ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው።
|
||||
እግርህን በፍራሽህ ልክ ዘርጋ።
|
||||
|
||||
Runes:
|
||||
|
||||
ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ
|
||||
|
||||
(Old English, which transcribed into Latin reads 'He cwaeth that he
|
||||
bude thaem lande northweardum with tha Westsae.' and means 'He said
|
||||
that he lived in the northern land near the Western Sea.')
|
||||
|
||||
Braille:
|
||||
|
||||
⡌⠁⠧⠑ ⠼⠁⠒ ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌
|
||||
|
||||
⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞
|
||||
⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎
|
||||
⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂
|
||||
⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙
|
||||
⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑
|
||||
⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲
|
||||
|
||||
⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
|
||||
|
||||
⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹
|
||||
⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞
|
||||
⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕
|
||||
⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹
|
||||
⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎
|
||||
⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎
|
||||
⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳
|
||||
⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞
|
||||
⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
|
||||
|
||||
(The first couple of paragraphs of "A Christmas Carol" by Dickens)
|
||||
|
||||
Compact font selection example text:
|
||||
|
||||
ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789
|
||||
abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ
|
||||
–—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд
|
||||
∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi?⑀₂ἠḂӥẄɐː⍎אԱა
|
||||
|
||||
Greetings in various languages:
|
||||
|
||||
Hello world, Καλημέρα κόσμε, コンニチハ
|
||||
|
||||
Box drawing alignment tests: █
|
||||
▉
|
||||
╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳
|
||||
║┌─╨─┐║ │╔═╧═╗│ │╒═╪═╕│ │╓─╁─╖│ ┃┌─╂─┐┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ ┝╋┥ ▋ ╲╱╲╱╳╳╳
|
||||
║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╿ │┃ ┍╅╆┓ ╵ ╹ ┗┷┛ └┸┘ ▌ ╱╲╱╲╳╳╳
|
||||
╠╡ ╳ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳
|
||||
║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▎
|
||||
║└─╥─┘║ │╚═╤═╝│ │╘═╪═╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▏
|
||||
╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ ▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█
|
||||
▝▀▘▙▄▟
|
||||
|
||||
|
||||
UTF-8 encoded sample plain-text file
|
||||
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
|
||||
|
||||
Markus Kuhn [ˈmaʳkʊs kuːn] <mkuhn@acm.org> — 2002-07-25
|
||||
|
||||
|
||||
The ASCII compatible UTF-8 encoding used in this plain-text file
|
||||
is defined in Unicode, ISO 10646-1, and RFC 2279.
|
||||
|
||||
|
||||
Using Unicode/UTF-8, you can write in emails and source code things such as
|
||||
|
||||
Mathematics and sciences:
|
||||
|
||||
∮ E⋅da = Q, n → ∞, ∑ f(i) = ∏ g(i), ⎧⎡⎛┌─────┐⎞⎤⎫
|
||||
⎪⎢⎜│a²+b³ ⎟⎥⎪
|
||||
∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), ⎪⎢⎜│───── ⎟⎥⎪
|
||||
⎪⎢⎜⎷ c₈ ⎟⎥⎪
|
||||
ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬
|
||||
⎪⎢⎜ ∞ ⎟⎥⎪
|
||||
⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫), ⎪⎢⎜ ⎲ ⎟⎥⎪
|
||||
⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪
|
||||
2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1 ⎠⎦⎭
|
||||
|
||||
Linguistics and dictionaries:
|
||||
|
||||
ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn
|
||||
Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ]
|
||||
|
||||
APL:
|
||||
|
||||
((V⍳V)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈
|
||||
|
||||
Nicer typography in plain text files:
|
||||
|
||||
╔══════════════════════════════════════════╗
|
||||
║ ║
|
||||
║ • ‘single’ and “double” quotes ║
|
||||
║ ║
|
||||
║ • Curly apostrophes: “We’ve been here” ║
|
||||
║ ║
|
||||
║ • Latin-1 apostrophe and accents: '´` ║
|
||||
║ ║
|
||||
║ • ‚deutsche‘ „Anführungszeichen“ ║
|
||||
║ ║
|
||||
║ • †, ‡, ‰, •, 3–4, —, −5/+5, ™, … ║
|
||||
║ ║
|
||||
║ • ASCII safety test: 1lI|, 0OD, 8B ║
|
||||
║ ╭─────────╮ ║
|
||||
║ • the euro symbol: │ 14.95 € │ ║
|
||||
║ ╰─────────╯ ║
|
||||
╚══════════════════════════════════════════╝
|
||||
|
||||
Combining characters:
|
||||
|
||||
STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑
|
||||
|
||||
Greek (in Polytonic):
|
||||
|
||||
The Greek anthem:
|
||||
|
||||
Σὲ γνωρίζω ἀπὸ τὴν κόψη
|
||||
τοῦ σπαθιοῦ τὴν τρομερή,
|
||||
σὲ γνωρίζω ἀπὸ τὴν ὄψη
|
||||
ποὺ μὲ βία μετράει τὴ γῆ.
|
||||
|
||||
᾿Απ᾿ τὰ κόκκαλα βγαλμένη
|
||||
τῶν ῾Ελλήνων τὰ ἱερά
|
||||
καὶ σὰν πρῶτα ἀνδρειωμένη
|
||||
χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά!
|
||||
|
||||
From a speech of Demosthenes in the 4th century BC:
|
||||
|
||||
Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι,
|
||||
ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς
|
||||
λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ
|
||||
τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿
|
||||
εἰς τοῦτο προήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ
|
||||
πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν
|
||||
οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι,
|
||||
οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν
|
||||
ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον
|
||||
τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι
|
||||
γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν
|
||||
προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους
|
||||
σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ
|
||||
τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ
|
||||
τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς
|
||||
τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον.
|
||||
|
||||
Δημοσθένους, Γ´ ᾿Ολυνθιακὸς
|
||||
|
||||
Georgian:
|
||||
|
||||
From a Unicode conference invitation:
|
||||
|
||||
გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო
|
||||
კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს,
|
||||
ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს
|
||||
ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი,
|
||||
ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება
|
||||
ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში,
|
||||
ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში.
|
||||
|
||||
Russian:
|
||||
|
||||
From a Unicode conference invitation:
|
||||
|
||||
Зарегистрируйтесь сейчас на Десятую Международную Конференцию по
|
||||
Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии.
|
||||
Конференция соберет широкий круг экспертов по вопросам глобального
|
||||
Интернета и Unicode, локализации и интернационализации, воплощению и
|
||||
применению Unicode в различных операционных системах и программных
|
||||
приложениях, шрифтах, верстке и многоязычных компьютерных системах.
|
||||
|
||||
Thai (UCS Level 2):
|
||||
|
||||
Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese
|
||||
classic 'San Gua'):
|
||||
|
||||
[----------------------------|------------------------]
|
||||
๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช พระปกเกศกองบู๊กู้ขึ้นใหม่
|
||||
สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา
|
||||
ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา
|
||||
โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ
|
||||
เหมือนขับไสไล่เสือจากเคหา รับหมาป่าเข้ามาเลยอาสัญ
|
||||
ฝ่ายอ้องอุ้นยุแยกให้แตกกัน ใช้สาวนั้นเป็นชนวนชื่นชวนใจ
|
||||
พลันลิฉุยกุยกีกลับก่อเหตุ ช่างอาเพศจริงหนาฟ้าร้องไห้
|
||||
ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ
|
||||
|
||||
(The above is a two-column text. If combining characters are handled
|
||||
correctly, the lines of the second column should be aligned with the
|
||||
| character above.)
|
||||
|
||||
Ethiopian:
|
||||
|
||||
Proverbs in the Amharic language:
|
||||
|
||||
ሰማይ አይታረስ ንጉሥ አይከሰስ።
|
||||
ብላ ካለኝ እንደአባቴ በቆመጠኝ።
|
||||
ጌጥ ያለቤቱ ቁምጥና ነው።
|
||||
ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው።
|
||||
የአፍ ወለምታ በቅቤ አይታሽም።
|
||||
አይጥ በበላ ዳዋ ተመታ።
|
||||
ሲተረጉሙ ይደረግሙ።
|
||||
ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል።
|
||||
ድር ቢያብር አንበሳ ያስር።
|
||||
ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም።
|
||||
እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም።
|
||||
የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ።
|
||||
ሥራ ከመፍታት ልጄን ላፋታት።
|
||||
ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል።
|
||||
የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ።
|
||||
ተንጋሎ ቢተፉ ተመልሶ ባፉ።
|
||||
ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው።
|
||||
እግርህን በፍራሽህ ልክ ዘርጋ።
|
||||
|
||||
Runes:
|
||||
|
||||
ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ
|
||||
|
||||
(Old English, which transcribed into Latin reads 'He cwaeth that he
|
||||
bude thaem lande northweardum with tha Westsae.' and means 'He said
|
||||
that he lived in the northern land near the Western Sea.')
|
||||
|
||||
Braille:
|
||||
|
||||
⡌⠁⠧⠑ ⠼⠁⠒ ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌
|
||||
|
||||
⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞
|
||||
⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎
|
||||
⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂
|
||||
⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙
|
||||
⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑
|
||||
⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲
|
||||
|
||||
⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
|
||||
|
||||
⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹
|
||||
⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞
|
||||
⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕
|
||||
⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹
|
||||
⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎
|
||||
⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎
|
||||
⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳
|
||||
⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞
|
||||
⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
|
||||
|
||||
(The first couple of paragraphs of "A Christmas Carol" by Dickens)
|
||||
|
||||
Compact font selection example text:
|
||||
|
||||
ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789
|
||||
abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ
|
||||
–—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд
|
||||
∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi?⑀₂ἠḂӥẄɐː⍎אԱა
|
||||
|
||||
Greetings in various languages:
|
||||
|
||||
Hello world, Καλημέρα κόσμε, コンニチハ
|
||||
|
||||
Box drawing alignment tests: █
|
||||
▉
|
||||
╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳
|
||||
║┌─╨─┐║ │╔═╧═╗│ │╒═╪═╕│ │╓─╁─╖│ ┃┌─╂─┐┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ ┝╋┥ ▋ ╲╱╲╱╳╳╳
|
||||
║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╿ │┃ ┍╅╆┓ ╵ ╹ ┗┷┛ └┸┘ ▌ ╱╲╱╲╳╳╳
|
||||
╠╡ ╳ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳
|
||||
║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▎
|
||||
║└─╥─┘║ │╚═╤═╝│ │╘═╪═╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▏
|
||||
╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ ▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█
|
||||
▝▀▘▙▄▟
|
||||
|
||||
|
||||
|
||||
+15
-1
@@ -106,14 +106,18 @@
|
||||
*/
|
||||
# define _CUPS_DEPRECATED
|
||||
# define _CUPS_DEPRECATED_MSG(m)
|
||||
# define _CUPS_DEPRECATED_1_6_MSG(m)
|
||||
# define _CUPS_DEPRECATED_1_7_MSG(m)
|
||||
# define _CUPS_INTERNAL_MSG(m)
|
||||
# elif defined(_CUPS_HAS_UNAVAILABLE_WITH_MESSAGE) && defined(_CUPS_NO_DEPRECATED)
|
||||
/*
|
||||
* Compiler supports the unsupported attribute, so use it when the code
|
||||
* Compiler supports the unavailable attribute, so use it when the code
|
||||
* wants to exclude the use of deprecated API.
|
||||
*/
|
||||
# define _CUPS_DEPRECATED __attribute__ ((unavailable))
|
||||
# define _CUPS_DEPRECATED_MSG(m) __attribute__ ((unavailable(m)))
|
||||
# define _CUPS_DEPRECATED_1_6_MSG(m) __attribute__ ((unavailable(m)))
|
||||
# define _CUPS_DEPRECATED_1_7_MSG(m) __attribute__ ((unavailable(m)))
|
||||
# define _CUPS_INTERNAL_MSG(m) __attribute__ ((unavailable(m)))
|
||||
# else
|
||||
/*
|
||||
@@ -125,6 +129,16 @@
|
||||
# else
|
||||
# define _CUPS_DEPRECATED_MSG(m) __attribute__ ((deprecated))
|
||||
# endif /* _CUPS_HAS_DEPRECATED_WITH_MESSAGE */
|
||||
# if defined(MAC_OS_X_VERSION_10_8) && MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8
|
||||
# define _CUPS_DEPRECATED_1_6_MSG(m) _CUPS_DEPRECATED_MSG(m)
|
||||
# else
|
||||
# define _CUPS_DEPRECATED_1_6_MSG(m)
|
||||
# endif /* MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_8 */
|
||||
# if defined(MAC_OS_X_VERSION_10_9) && MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9
|
||||
# define _CUPS_DEPRECATED_1_7_MSG(m) _CUPS_DEPRECATED_MSG(m)
|
||||
# else
|
||||
# define _CUPS_DEPRECATED_1_7_MSG(m)
|
||||
# endif /* MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_9 */
|
||||
# ifdef _CUPS_SOURCE
|
||||
# define _CUPS_INTERNAL_MSG(m)
|
||||
# elif defined(_CUPS_HAS_UNAVAILABLE_WITH_MESSAGE)
|
||||
|
||||
@@ -125,7 +125,6 @@ HELPFILES = \
|
||||
help/spec-ppd.html \
|
||||
help/spec-raster.html \
|
||||
help/spec-stp.html \
|
||||
help/standard.html \
|
||||
help/translation.html \
|
||||
help/whatsnew.html
|
||||
|
||||
|
||||
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
|
||||
<body>
|
||||
<div class='body'>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-array.header 7266 2008-01-29 02:15:29Z mike $"
|
||||
|
||||
Array API header for CUPS.
|
||||
|
||||
@@ -413,7 +413,7 @@ div.contents ul.subcontents li {
|
||||
</ul></li>
|
||||
</ul>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
|
||||
|
||||
Array API introduction for CUPS.
|
||||
|
||||
|
||||
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
|
||||
<body>
|
||||
<div class='body'>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-array.header 8087 2008-10-27 21:37:05Z mike $"
|
||||
|
||||
CGI API header for CUPS.
|
||||
|
||||
@@ -437,7 +437,7 @@ by the template file.">cgiGetAttributes</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
|
||||
|
||||
CGI API introduction for CUPS.
|
||||
|
||||
|
||||
+20
-20
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
|
||||
<body>
|
||||
<div class='body'>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
|
||||
|
||||
CUPS API header for CUPS.
|
||||
|
||||
@@ -547,11 +547,11 @@ constants">cups_ptype_e</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-cups.shtml 7337 2008-02-22 04:44:04Z mike $"
|
||||
|
||||
API introduction for CUPS.
|
||||
|
||||
Copyright 2007-2011 by Apple Inc.
|
||||
Copyright 2007-2013 by Apple Inc.
|
||||
Copyright 1997-2006 by Easy Software Products, all rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs are the
|
||||
@@ -731,7 +731,7 @@ int num_options = 0;
|
||||
<a href='#cups_option_t'>cups_option_t</a> *options = NULL;
|
||||
<a href='#cups_dest_t'>cups_dest_t</a> *dest;
|
||||
|
||||
for (i = 0; i < dest->num_options; i ++)
|
||||
for (i = 0; i < dest->num_options; i ++)
|
||||
num_options = <a href='#cupsAddOption'>cupsAddOption</a>(dest->options[i].name, dest->options[i].value,
|
||||
num_options, &options);
|
||||
</pre>
|
||||
@@ -783,7 +783,7 @@ job_id = <a href='#cupsPrintFiles'>cupsPrintFiles</a>(dest->name, 3, files, "Tes
|
||||
|
||||
<p>Finally, the <a href='#cupsCreateJob'><code>cupsCreateJob</code></a>
|
||||
function creates a new job with no files in it. Files are added using the
|
||||
<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>,
|
||||
<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>,
|
||||
<a href='api-httpipp.html#cupsWriteRequestData'><code>cupsWriteRequestData</code></a>,
|
||||
and <a href='#cupsFinishDocument'><code>cupsFinishDocument</code></a> functions.
|
||||
The following example creates a job with 10 text files for printing:</p>
|
||||
@@ -847,7 +847,7 @@ int num_jobs;
|
||||
<a href='#cups_job_t'>cups_job_t</a> *jobs;
|
||||
int i;
|
||||
ipp_jstate_t job_state = IPP_JOB_PENDING;
|
||||
|
||||
|
||||
while (job_state < IPP_JOB_STOPPED)
|
||||
{
|
||||
/* Get my jobs (1) with any state (-1) */
|
||||
@@ -1629,7 +1629,7 @@ Enumeration happens on the current thread and does not return until all
|
||||
destinations have been enumerated or the block returns 0.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="cupsFindDestDefault">cupsFindDestDefault</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="cupsFindDestDefault">cupsFindDestDefault</a></h3>
|
||||
<p class="description">Find the default value(s) for the given option.</p>
|
||||
<p class="code">
|
||||
ipp_attribute_t *cupsFindDestDefault (<br>
|
||||
@@ -1659,7 +1659,7 @@ ipp_attribute_t *cupsFindDestDefault (<br>
|
||||
functions to inspect the default value(s) as needed.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="cupsFindDestReady">cupsFindDestReady</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="cupsFindDestReady">cupsFindDestReady</a></h3>
|
||||
<p class="description">Find the default value(s) for the given option.</p>
|
||||
<p class="code">
|
||||
ipp_attribute_t *cupsFindDestReady (<br>
|
||||
@@ -1689,7 +1689,7 @@ ipp_attribute_t *cupsFindDestReady (<br>
|
||||
functions to inspect the default value(s) as needed.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="cupsFindDestSupported">cupsFindDestSupported</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="cupsFindDestSupported">cupsFindDestSupported</a></h3>
|
||||
<p class="description">Find the default value(s) for the given option.</p>
|
||||
<p class="code">
|
||||
ipp_attribute_t *cupsFindDestSupported (<br>
|
||||
@@ -1893,7 +1893,7 @@ not support the lpoptions-defined default printer.
|
||||
<h4 class="discussion">Discussion</h4>
|
||||
<p class="discussion">Use the <a href="#cupsGetDests"><code>cupsGetDests</code></a> or <a href="#cupsGetDests2"><code>cupsGetDests2</code></a> functions to get a
|
||||
list of supported destinations for the current user.</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="cupsGetDestMediaByIndex">cupsGetDestMediaByIndex</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="cupsGetDestMediaByIndex">cupsGetDestMediaByIndex</a></h3>
|
||||
<p class="description">Get a media name, dimension, and margins for a
|
||||
specific size.</p>
|
||||
<p class="code">
|
||||
@@ -2021,7 +2021,7 @@ The matching result (if any) is returned in the "cups_size_t" structur
|
||||
Returns 1 when there is a match and 0 if there is not a match.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="cupsGetDestMediaCount">cupsGetDestMediaCount</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="cupsGetDestMediaCount">cupsGetDestMediaCount</a></h3>
|
||||
<p class="description">Get the number of sizes supported by a
|
||||
destination.</p>
|
||||
<p class="code">
|
||||
@@ -2050,7 +2050,7 @@ counted. For example, passing <code>CUPS_MEDIA_FLAGS_BORDERLESS</code> will ret
|
||||
the number of borderless sizes.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="cupsGetDestMediaDefault">cupsGetDestMediaDefault</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="cupsGetDestMediaDefault">cupsGetDestMediaDefault</a></h3>
|
||||
<p class="description">Get the default size for a destination.</p>
|
||||
<p class="code">
|
||||
int cupsGetDestMediaDefault (<br>
|
||||
@@ -3019,7 +3019,7 @@ void cupsSetUser (<br>
|
||||
Note: The current user name is tracked separately for each thread in a
|
||||
program. Multi-threaded programs that override the user name need to do so
|
||||
in each thread for the same user name to be used.</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="cupsSetUserAgent">cupsSetUserAgent</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="cupsSetUserAgent">cupsSetUserAgent</a></h3>
|
||||
<p class="description">Set the default HTTP User-Agent string.</p>
|
||||
<p class="code">
|
||||
void cupsSetUserAgent (<br>
|
||||
@@ -3192,13 +3192,13 @@ const char *cupsUser (void);</p>
|
||||
program. Multi-threaded programs that override the user name with the
|
||||
<a href="#cupsSetUser"><code>cupsSetUser</code></a> function need to do so in each thread for the same user
|
||||
name to be used.</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="cupsUserAgent">cupsUserAgent</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="cupsUserAgent">cupsUserAgent</a></h3>
|
||||
<p class="description">Return the default HTTP User-Agent string.</p>
|
||||
<p class="code">
|
||||
const char *cupsUserAgent (void);</p>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">User-Agent string</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="pwgFormatSizeName">pwgFormatSizeName</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="pwgFormatSizeName">pwgFormatSizeName</a></h3>
|
||||
<p class="description">Generate a PWG self-describing media size name.</p>
|
||||
<p class="code">
|
||||
int pwgFormatSizeName (<br>
|
||||
@@ -3246,7 +3246,7 @@ units string is <code>NULL</code>, otherwise inches ("in") or millimet
|
||||
are used.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="pwgInitSize">pwgInitSize</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="pwgInitSize">pwgInitSize</a></h3>
|
||||
<p class="description">Initialize a pwg_size_t structure using IPP Job Template
|
||||
attributes.</p>
|
||||
<p class="code">
|
||||
@@ -3276,7 +3276,7 @@ member attribute was specified in the "media-col" Job Template attribu
|
||||
otherwise it is initialized to 0.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="pwgMediaForLegacy">pwgMediaForLegacy</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="pwgMediaForLegacy">pwgMediaForLegacy</a></h3>
|
||||
<p class="description">Find a PWG media size by ISO/IPP legacy name.</p>
|
||||
<p class="code">
|
||||
<a href="#pwg_media_t">pwg_media_t</a> *pwgMediaForLegacy (<br>
|
||||
@@ -3294,7 +3294,7 @@ otherwise it is initialized to 0.
|
||||
"iso-a4" or "na-letter".
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="pwgMediaForPPD">pwgMediaForPPD</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="pwgMediaForPPD">pwgMediaForPPD</a></h3>
|
||||
<p class="description">Find a PWG media size by Adobe PPD name.</p>
|
||||
<p class="code">
|
||||
<a href="#pwg_media_t">pwg_media_t</a> *pwgMediaForPPD (<br>
|
||||
@@ -3318,7 +3318,7 @@ thread. Custom names can be of the form "Custom.WIDTHxLENGTH[units]"
|
||||
"WIDTHxLENGTH[units]".
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="pwgMediaForPWG">pwgMediaForPWG</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="pwgMediaForPWG">pwgMediaForPWG</a></h3>
|
||||
<p class="description">Find a PWG media size by 5101.1 self-describing name.</p>
|
||||
<p class="code">
|
||||
<a href="#pwg_media_t">pwg_media_t</a> *pwgMediaForPWG (<br>
|
||||
@@ -3340,7 +3340,7 @@ thread-local storage and is overwritten by each call to the function in the
|
||||
thread.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="pwgMediaForSize">pwgMediaForSize</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="pwgMediaForSize">pwgMediaForSize</a></h3>
|
||||
<p class="description">Get the PWG media size for the given dimensions.</p>
|
||||
<p class="code">
|
||||
<a href="#pwg_media_t">pwg_media_t</a> *pwgMediaForSize (<br>
|
||||
|
||||
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
|
||||
<body>
|
||||
<div class='body'>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-filedir.header 7279 2008-01-31 01:50:44Z mike $"
|
||||
|
||||
File and Directory API header for CUPS.
|
||||
|
||||
@@ -424,7 +424,7 @@ file.">cupsFileRewind</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-filedir.shtml 7279 2008-01-31 01:50:44Z mike $"
|
||||
|
||||
File and directory API introduction for CUPS.
|
||||
|
||||
|
||||
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
|
||||
<body>
|
||||
<div class='body'>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-filter.header 7616 2008-05-28 00:34:13Z mike $"
|
||||
|
||||
Filter and backend programming header for CUPS.
|
||||
|
||||
@@ -426,11 +426,11 @@ div.contents ul.subcontents li {
|
||||
</ul></li>
|
||||
</ul>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-filter.shtml 7677 2008-06-19 23:22:19Z mike $"
|
||||
|
||||
Filter and backend programming introduction for CUPS.
|
||||
|
||||
Copyright 2007-2012 by Apple Inc.
|
||||
Copyright 2007-2013 by Apple Inc.
|
||||
Copyright 1997-2006 by Easy Software Products, all rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs are the
|
||||
@@ -915,7 +915,7 @@ from localizing the vendor-prefixed keyword in the PPD file - otherwise both
|
||||
the generic and vendor-specific keyword will be shown in the user
|
||||
interface.</p>
|
||||
|
||||
</blockquote></dd>
|
||||
</blockquote>
|
||||
|
||||
<h4><a name="REPORTING_SUPPLIES">Reporting Supply Levels</a></h4>
|
||||
|
||||
@@ -1040,7 +1040,7 @@ datalen = sizeof(data) - 1;
|
||||
status = <a href="#cupsSideChannelDoRequest">cupsSideChannelDoRequest</a>(CUPS_SC_CMD_GET_DEVICE_ID, data, &datalen, 1.0);
|
||||
|
||||
/* Use the returned value if OK was returned and the length is non-zero */
|
||||
if (status == CUPS_SC_STATUS_OK && datalen > 0)
|
||||
if (status == CUPS_SC_STATUS_OK && datalen > 0)
|
||||
data[datalen] = '\0';
|
||||
else
|
||||
data[0] = '\0';
|
||||
|
||||
+91
-39
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
|
||||
<body>
|
||||
<div class='body'>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-httpipp.header 7258 2008-01-28 00:15:05Z mike $"
|
||||
|
||||
HTTP and IPP API header for CUPS.
|
||||
|
||||
@@ -676,7 +676,7 @@ are server-oriented...">http_state_e</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-httpipp.shtml 7684 2008-06-23 16:47:38Z mike $"
|
||||
|
||||
HTTP and IPP API introduction for CUPS.
|
||||
|
||||
@@ -1401,7 +1401,7 @@ http_status_t cupsWriteRequestData (<br>
|
||||
after <a href="#cupsStartDocument"><code>cupsStartDocument</code></a> to provide a document file.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="httpAcceptConnection">httpAcceptConnection</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="httpAcceptConnection">httpAcceptConnection</a></h3>
|
||||
<p class="description">Accept a new HTTP client connection from the
|
||||
specified listening socket.</p>
|
||||
<p class="code">
|
||||
@@ -1484,7 +1484,7 @@ int httpAddrLength (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">Length in bytes</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="httpAddrListen">httpAddrListen</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="httpAddrListen">httpAddrListen</a></h3>
|
||||
<p class="description">Create a listening socket bound to the specified
|
||||
address and port.</p>
|
||||
<p class="code">
|
||||
@@ -1533,7 +1533,7 @@ char *httpAddrLookup (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">Host name</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="httpAddrPort">httpAddrPort</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="httpAddrPort">httpAddrPort</a></h3>
|
||||
<p class="description">Get the port number associated with an address.</p>
|
||||
<p class="code">
|
||||
int httpAddrPort (<br>
|
||||
@@ -1653,7 +1653,7 @@ this function in place of traditional string functions whenever
|
||||
you need to create a URI string.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="httpAssembleUUID">httpAssembleUUID</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="httpAssembleUUID">httpAssembleUUID</a></h3>
|
||||
<p class="description">Assemble a name-based UUID URN conforming to RFC 4122.</p>
|
||||
<p class="code">
|
||||
char *httpAssembleUUID (<br>
|
||||
@@ -1769,7 +1769,7 @@ void httpClose (<br>
|
||||
<p class="discussion">This function is deprecated - use <a href="#httpConnect2"><code>httpConnect2</code></a> instead.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="httpConnect2">httpConnect2</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="httpConnect2">httpConnect2</a></h3>
|
||||
<p class="description">Connect to a HTTP server.</p>
|
||||
<p class="code">
|
||||
<a href="#http_t">http_t</a> *httpConnect2 (<br>
|
||||
@@ -2056,7 +2056,7 @@ int httpGetBlocking (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">1 if blocking, 0 if non-blocking</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="httpGetContentEncoding">httpGetContentEncoding</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="httpGetContentEncoding">httpGetContentEncoding</a></h3>
|
||||
<p class="description">Get a common content encoding, if any, between
|
||||
the client and server.</p>
|
||||
<p class="code">
|
||||
@@ -2137,7 +2137,7 @@ time_t httpGetDateTime (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">UNIX time</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="httpGetExpect">httpGetExpect</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="httpGetExpect">httpGetExpect</a></h3>
|
||||
<p class="description">Get the value of the Expect header, if any.</p>
|
||||
<p class="code">
|
||||
http_status_t httpGetExpect (<br>
|
||||
@@ -2466,7 +2466,7 @@ int httpOptions (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">Status of call (0 = success)</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="httpPeek">httpPeek</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="httpPeek">httpPeek</a></h3>
|
||||
<p class="description">Peek at data from a HTTP connection.</p>
|
||||
<p class="code">
|
||||
ssize_t httpPeek (<br>
|
||||
@@ -2568,7 +2568,7 @@ ssize_t httpRead2 (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">Number of bytes read</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="httpReadRequest">httpReadRequest</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="httpReadRequest">httpReadRequest</a></h3>
|
||||
<p class="description">Read a HTTP request from a connection.</p>
|
||||
<p class="code">
|
||||
<a href="#http_state_t">http_state_t</a> httpReadRequest (<br>
|
||||
@@ -2799,7 +2799,7 @@ int httpSetCredentials (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">Status of call (0 = success)</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="httpSetDefaultField">httpSetDefaultField</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="httpSetDefaultField">httpSetDefaultField</a></h3>
|
||||
<p class="description">Set the default value of an HTTP header.</p>
|
||||
<p class="code">
|
||||
void httpSetDefaultField (<br>
|
||||
@@ -3002,7 +3002,7 @@ ssize_t httpWrite2 (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">Number of bytes written</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="httpWriteResponse">httpWriteResponse</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="httpWriteResponse">httpWriteResponse</a></h3>
|
||||
<p class="description">Write a HTTP response to a client connection.</p>
|
||||
<p class="code">
|
||||
int httpWriteResponse (<br>
|
||||
@@ -3548,7 +3548,7 @@ Supported string values include charset (<code>IPP_TAG_CHARSET</code>), keyword
|
||||
<br>
|
||||
The <code>language</code> parameter must be non-<code>NULL</code> for nameWithLanguage and
|
||||
textWithLanguage string values and must be <code>NULL</code> for all other string values.</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="ippAddStringf">ippAddStringf</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="ippAddStringf">ippAddStringf</a></h3>
|
||||
<p class="description">Add a formatted string to an IPP message.</p>
|
||||
<p class="code">
|
||||
<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddStringf (<br>
|
||||
@@ -3607,7 +3607,7 @@ needed. The formatted string is truncated as needed to the maximum length of
|
||||
the corresponding value type.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="ippAddStringfv">ippAddStringfv</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="ippAddStringfv">ippAddStringfv</a></h3>
|
||||
<p class="description">Add a formatted string to an IPP message.</p>
|
||||
<p class="code">
|
||||
<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddStringfv (<br>
|
||||
@@ -3741,7 +3741,7 @@ trailing nul. The buffer pointer can be NULL to get the required length,
|
||||
just like (v)snprintf.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="ippContainsInteger">ippContainsInteger</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="ippContainsInteger">ippContainsInteger</a></h3>
|
||||
<p class="description">Determine whether an attribute contains the
|
||||
specified value or is within the list of ranges.</p>
|
||||
<p class="code">
|
||||
@@ -3764,7 +3764,7 @@ enum value, or the value falls within one of the rangeOfInteger values for
|
||||
the attribute.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="ippContainsString">ippContainsString</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="ippContainsString">ippContainsString</a></h3>
|
||||
<p class="description">Determine whether an attribute contains the
|
||||
specified string value.</p>
|
||||
<p class="code">
|
||||
@@ -3849,7 +3849,7 @@ attributes that are copied - the function must return 1 to copy the attribute or
|
||||
itself.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="ippCreateRequestedArray">ippCreateRequestedArray</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="ippCreateRequestedArray">ippCreateRequestedArray</a></h3>
|
||||
<p class="description">Create a CUPS array of attribute names from the
|
||||
given requested-attributes attribute.</p>
|
||||
<p class="code">
|
||||
@@ -4180,7 +4180,7 @@ const char *ippGetName (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">Attribute name or <code>NULL</code> for separators</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="ippGetOctetString">ippGetOctetString</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="ippGetOctetString">ippGetOctetString</a></h3>
|
||||
<p class="description">Get an octetString value from an IPP attribute.</p>
|
||||
<p class="code">
|
||||
void *ippGetOctetString (<br>
|
||||
@@ -4397,7 +4397,7 @@ attributes-natural-language attributes added. The
|
||||
attributes-natural-language value is derived from the current locale.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="ippNewResponse">ippNewResponse</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="ippNewResponse">ippNewResponse</a></h3>
|
||||
<p class="description">Allocate a new IPP response message.</p>
|
||||
<p class="code">
|
||||
<a href="#ipp_t">ipp_t</a> *ippNewResponse (<br>
|
||||
@@ -4707,7 +4707,7 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
|
||||
The <code>attr</code> parameter may be modified as a result of setting the value.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="ippSetOctetString">ippSetOctetString</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="ippSetOctetString">ippSetOctetString</a></h3>
|
||||
<p class="description">Set an octetString value in an IPP attribute.</p>
|
||||
<p class="code">
|
||||
int ippSetOctetString (<br>
|
||||
@@ -4939,7 +4939,7 @@ The <code>element</code> parameter specifies which value to set from 0 to
|
||||
<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="ippSetStringf">ippSetStringf</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="ippSetStringf">ippSetStringf</a></h3>
|
||||
<p class="description">Set a formatted string value of an attribute.</p>
|
||||
<p class="code">
|
||||
int ippSetStringf (<br>
|
||||
@@ -4979,7 +4979,7 @@ needed. The formatted string is truncated as needed to the maximum length of
|
||||
the corresponding value type.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="ippSetStringfv">ippSetStringfv</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="ippSetStringfv">ippSetStringfv</a></h3>
|
||||
<p class="description">Set a formatted string value of an attribute.</p>
|
||||
<p class="code">
|
||||
int ippSetStringfv (<br>
|
||||
@@ -5130,7 +5130,7 @@ const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippTimeToDate (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">RFC-1903 date/time data</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="ippValidateAttribute">ippValidateAttribute</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="ippValidateAttribute">ippValidateAttribute</a></h3>
|
||||
<p class="description">Validate the contents of an attribute.</p>
|
||||
<p class="code">
|
||||
int ippValidateAttribute (<br>
|
||||
@@ -5149,7 +5149,7 @@ value tag. 1 is returned if the attribute is valid, 0 otherwise. On
|
||||
failure, cupsLastErrorString() is set to a human-readable message.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7 </span><a name="ippValidateAttributes">ippValidateAttributes</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 1.7/OS X 10.9 </span><a name="ippValidateAttributes">ippValidateAttributes</a></h3>
|
||||
<p class="description">Validate all attributes in an IPP message.</p>
|
||||
<p class="code">
|
||||
int ippValidateAttributes (<br>
|
||||
@@ -5483,13 +5483,13 @@ with a hostname. </p>
|
||||
<p class="description">HTTP field names</p>
|
||||
<h4 class="constants">Constants</h4>
|
||||
<dl>
|
||||
<dt>HTTP_FIELD_ACCEPT_ENCODING <span class="info"> CUPS 1.7 </span></dt>
|
||||
<dt>HTTP_FIELD_ACCEPT_ENCODING <span class="info"> CUPS 1.7/OS X 10.9 </span></dt>
|
||||
<dd class="description">Accepting-Encoding field </dd>
|
||||
<dt>HTTP_FIELD_ACCEPT_LANGUAGE </dt>
|
||||
<dd class="description">Accept-Language field</dd>
|
||||
<dt>HTTP_FIELD_ACCEPT_RANGES </dt>
|
||||
<dd class="description">Accept-Ranges field</dd>
|
||||
<dt>HTTP_FIELD_ALLOW <span class="info"> CUPS 1.7 </span></dt>
|
||||
<dt>HTTP_FIELD_ALLOW <span class="info"> CUPS 1.7/OS X 10.9 </span></dt>
|
||||
<dd class="description">Allow field </dd>
|
||||
<dt>HTTP_FIELD_AUTHORIZATION </dt>
|
||||
<dd class="description">Authorization field</dd>
|
||||
@@ -5535,7 +5535,7 @@ with a hostname. </p>
|
||||
<dd class="description">Referer field</dd>
|
||||
<dt>HTTP_FIELD_RETRY_AFTER </dt>
|
||||
<dd class="description">Retry-After field</dd>
|
||||
<dt>HTTP_FIELD_SERVER <span class="info"> CUPS 1.7 </span></dt>
|
||||
<dt>HTTP_FIELD_SERVER <span class="info"> CUPS 1.7/OS X 10.9 </span></dt>
|
||||
<dd class="description">Server field </dd>
|
||||
<dt>HTTP_FIELD_TRANSFER_ENCODING </dt>
|
||||
<dd class="description">Transfer-Encoding field</dd>
|
||||
@@ -5590,9 +5590,9 @@ are server-oriented...</p>
|
||||
<dd class="description">Command complete, sending status</dd>
|
||||
<dt>HTTP_STATE_TRACE </dt>
|
||||
<dd class="description">TRACE command, waiting for blank line</dd>
|
||||
<dt>HTTP_STATE_UNKNOWN_METHOD <span class="info"> CUPS 1.7 </span></dt>
|
||||
<dt>HTTP_STATE_UNKNOWN_METHOD <span class="info"> CUPS 1.7/OS X 10.9 </span></dt>
|
||||
<dd class="description">Unknown request method, waiting for blank line </dd>
|
||||
<dt>HTTP_STATE_UNKNOWN_VERSION <span class="info"> CUPS 1.7 </span></dt>
|
||||
<dt>HTTP_STATE_UNKNOWN_VERSION <span class="info"> CUPS 1.7/OS X 10.9 </span></dt>
|
||||
<dd class="description">Unknown request method, waiting for blank line </dd>
|
||||
<dt>HTTP_STATE_WAITING </dt>
|
||||
<dd class="description">Waiting for command</dd>
|
||||
@@ -5637,7 +5637,7 @@ are server-oriented...</p>
|
||||
<dd class="description">Document has moved temporarily</dd>
|
||||
<dt>HTTP_STATUS_MULTIPLE_CHOICES </dt>
|
||||
<dd class="description">Multiple files match request</dd>
|
||||
<dt>HTTP_STATUS_NONE <span class="info"> CUPS 1.7 </span></dt>
|
||||
<dt>HTTP_STATUS_NONE <span class="info"> CUPS 1.7/OS X 10.9 </span></dt>
|
||||
<dd class="description">No Expect value </dd>
|
||||
<dt>HTTP_STATUS_NOT_ACCEPTABLE </dt>
|
||||
<dd class="description">Not Acceptable</dd>
|
||||
@@ -5706,6 +5706,8 @@ are server-oriented...</p>
|
||||
<dd class="description">En/decode the query portion</dd>
|
||||
<dt>HTTP_URI_CODING_RESOURCE </dt>
|
||||
<dd class="description">En/decode the resource portion</dd>
|
||||
<dt>HTTP_URI_CODING_RFC6874 </dt>
|
||||
<dd class="description">Use RFC 6874 address format</dd>
|
||||
<dt>HTTP_URI_CODING_USERNAME </dt>
|
||||
<dd class="description">En/decode the username portion</dd>
|
||||
</dl>
|
||||
@@ -5850,12 +5852,66 @@ are server-oriented...</p>
|
||||
<dd class="description">Stitch along top edge</dd>
|
||||
<dt>IPP_FINISHINGS_FOLD </dt>
|
||||
<dd class="description">Fold (any type)</dd>
|
||||
<dt>IPP_FINISHINGS_FOLD_ACCORDIAN </dt>
|
||||
<dd class="description">Accordian-fold the paper vertically into four sections</dd>
|
||||
<dt>IPP_FINISHINGS_FOLD_DOUBLE_GATE </dt>
|
||||
<dd class="description">Fold the top and bottom quarters of the paper towards the midline, then fold in half vertically</dd>
|
||||
<dt>IPP_FINISHINGS_FOLD_GATE </dt>
|
||||
<dd class="description">Fold the top and bottom quarters of the paper towards the midline</dd>
|
||||
<dt>IPP_FINISHINGS_FOLD_HALF </dt>
|
||||
<dd class="description">Fold the paper in half vertically</dd>
|
||||
<dt>IPP_FINISHINGS_FOLD_HALF_Z </dt>
|
||||
<dd class="description">Fold the paper in half horizontally, then Z-fold the paper vertically</dd>
|
||||
<dt>IPP_FINISHINGS_FOLD_LEFT_GATE </dt>
|
||||
<dd class="description">Fold the top quarter of the paper towards the midline</dd>
|
||||
<dt>IPP_FINISHINGS_FOLD_LETTER </dt>
|
||||
<dd class="description">Fold the paper into three sections vertically; sometimes also known as a C fold</dd>
|
||||
<dt>IPP_FINISHINGS_FOLD_PARALLEL </dt>
|
||||
<dd class="description">Fold the paper in half vertically two times, yielding four sections</dd>
|
||||
<dt>IPP_FINISHINGS_FOLD_POSTER </dt>
|
||||
<dd class="description">Fold the paper in half horizontally and vertically; sometimes also called a cross fold</dd>
|
||||
<dt>IPP_FINISHINGS_FOLD_RIGHT_GATE </dt>
|
||||
<dd class="description">Fold the bottom quarter of the paper towards the midline</dd>
|
||||
<dt>IPP_FINISHINGS_FOLD_Z </dt>
|
||||
<dd class="description">Fold the paper vertically into three sections, forming a Z</dd>
|
||||
<dt>IPP_FINISHINGS_JOG_OFFSET </dt>
|
||||
<dd class="description">Offset for binding (any type)</dd>
|
||||
<dt>IPP_FINISHINGS_NONE </dt>
|
||||
<dd class="description">No finishing</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH </dt>
|
||||
<dd class="description">Punch (any location/count)</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_BOTTOM_LEFT </dt>
|
||||
<dd class="description">Punch 1 hole bottom left</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_BOTTOM_RIGHT </dt>
|
||||
<dd class="description">Punch 1 hole bottom right</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_DUAL_BOTTOM </dt>
|
||||
<dd class="description">Punch 2 holes bottom edge</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_DUAL_LEFT </dt>
|
||||
<dd class="description">Punch 2 holes left side</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_DUAL_RIGHT </dt>
|
||||
<dd class="description">Punch 2 holes right side</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_DUAL_TOP </dt>
|
||||
<dd class="description">Punch 2 holes top edge</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_QUAD_BOTTOM </dt>
|
||||
<dd class="description">Punch 4 holes bottom edge</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_QUAD_LEFT </dt>
|
||||
<dd class="description">Punch 4 holes left side</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_QUAD_RIGHT </dt>
|
||||
<dd class="description">Punch 4 holes right side</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_QUAD_TOP </dt>
|
||||
<dd class="description">Punch 4 holes top edge</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_TOP_LEFT </dt>
|
||||
<dd class="description">Punch 1 hole top left</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_TOP_RIGHT </dt>
|
||||
<dd class="description">Punch 1 hole top right</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_TRIPLE_BOTTOM </dt>
|
||||
<dd class="description">Punch 3 holes bottom edge</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_TRIPLE_LEFT </dt>
|
||||
<dd class="description">Punch 3 holes left side</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_TRIPLE_RIGHT </dt>
|
||||
<dd class="description">Punch 3 holes right side</dd>
|
||||
<dt>IPP_FINISHINGS_PUNCH_TRIPLE_TOP </dt>
|
||||
<dd class="description">Punch 3 holes top edge</dd>
|
||||
<dt>IPP_FINISHINGS_SADDLE_STITCH </dt>
|
||||
<dd class="description">Staple interior</dd>
|
||||
<dt>IPP_FINISHINGS_STAPLE </dt>
|
||||
@@ -5988,8 +6044,6 @@ are server-oriented...</p>
|
||||
<dd class="description">Get subscription attributes </dd>
|
||||
<dt>IPP_OP_HOLD_JOB </dt>
|
||||
<dd class="description">Hold a job for printing</dd>
|
||||
<dt>IPP_OP_IDENTIFY_PRINTER </dt>
|
||||
<dd class="description">Identify-Printer (proposed IPP JPS3)</dd>
|
||||
<dt>IPP_OP_PAUSE_PRINTER </dt>
|
||||
<dd class="description">Stop a printer</dd>
|
||||
<dt>IPP_OP_PRINT_JOB </dt>
|
||||
@@ -6010,8 +6064,6 @@ are server-oriented...</p>
|
||||
<dd class="description">Add a file to a job</dd>
|
||||
<dt>IPP_OP_SET_JOB_ATTRIBUTES </dt>
|
||||
<dd class="description">Set job attributes</dd>
|
||||
<dt>IPP_OP_VALIDATE_DOCUMENT </dt>
|
||||
<dd class="description">Validate-Document (proposed IPP JPS3)</dd>
|
||||
<dt>IPP_OP_VALIDATE_JOB </dt>
|
||||
<dd class="description">Validate job options</dd>
|
||||
</dl>
|
||||
@@ -6098,13 +6150,13 @@ are server-oriented...</p>
|
||||
<dd class="description">client-error-compression-not-supported</dd>
|
||||
<dt>IPP_STATUS_ERROR_CONFLICTING </dt>
|
||||
<dd class="description">client-error-conflicting-attributes</dd>
|
||||
<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_AUTHORIZATION_FAILED <span class="info"> CUPS 1.7 </span></dt>
|
||||
<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_AUTHORIZATION_FAILED <span class="info"> CUPS 1.7/OS X 10.9 </span></dt>
|
||||
<dd class="description">cups-error-account-authorization-failed </dd>
|
||||
<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_CLOSED <span class="info"> CUPS 1.7 </span></dt>
|
||||
<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_CLOSED <span class="info"> CUPS 1.7/OS X 10.9 </span></dt>
|
||||
<dd class="description">cups-error-account-closed </dd>
|
||||
<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_INFO_NEEDED <span class="info"> CUPS 1.7 </span></dt>
|
||||
<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_INFO_NEEDED <span class="info"> CUPS 1.7/OS X 10.9 </span></dt>
|
||||
<dd class="description">cups-error-account-info-needed </dd>
|
||||
<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_LIMIT_REACHED <span class="info"> CUPS 1.7 </span></dt>
|
||||
<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_LIMIT_REACHED <span class="info"> CUPS 1.7/OS X 10.9 </span></dt>
|
||||
<dd class="description">cups-error-account-limit-reached </dd>
|
||||
<dt>IPP_STATUS_ERROR_CUPS_AUTHENTICATION_CANCELED <span class="info"> CUPS 1.5/OS X 10.7 </span></dt>
|
||||
<dd class="description">cups-authentication-canceled - Authentication canceled by user </dd>
|
||||
|
||||
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
|
||||
<body>
|
||||
<div class='body'>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-array.header 8087 2008-10-27 21:37:05Z mike $"
|
||||
|
||||
MIME API header for CUPS.
|
||||
|
||||
@@ -412,7 +412,7 @@ including file size.">mimeFilter2</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
|
||||
|
||||
MIME API introduction for CUPS.
|
||||
|
||||
|
||||
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
|
||||
<body>
|
||||
<div class='body'>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
|
||||
|
||||
Introduction to CUPS programming header for CUPS.
|
||||
|
||||
@@ -403,7 +403,7 @@ div.contents ul.subcontents li {
|
||||
<li><a href="#WHERETOGO">Where to Go Next</a></li>
|
||||
</ul>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
|
||||
|
||||
Introduction to CUPS programming content for CUPS.
|
||||
|
||||
|
||||
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
|
||||
<body>
|
||||
<div class='body'>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-ppd.header 7616 2008-05-28 00:34:13Z mike $"
|
||||
|
||||
PPD API header for CUPS.
|
||||
|
||||
@@ -486,7 +486,7 @@ conflicts.">ppdMarkOption</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-ppd.shtml 7616 2008-05-28 00:34:13Z mike $"
|
||||
|
||||
PPD API introduction for CUPS.
|
||||
|
||||
|
||||
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
|
||||
<body>
|
||||
<div class='body'>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-array.header 8087 2008-10-27 21:37:05Z mike $"
|
||||
|
||||
PPD Compiler API header for CUPS.
|
||||
|
||||
@@ -414,7 +414,7 @@ div.contents ul.subcontents li {
|
||||
</ul></li>
|
||||
</ul>
|
||||
<!--
|
||||
"$Id$"
|
||||
"$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
|
||||
|
||||
PPD Compiler API introduction for CUPS.
|
||||
|
||||
|
||||
@@ -438,7 +438,7 @@ page header structure.">cupsRasterWriteHeader2</a></li>
|
||||
|
||||
Raster API introduction for CUPS.
|
||||
|
||||
Copyright 2007-2012 by Apple Inc.
|
||||
Copyright 2007-2013 by Apple Inc.
|
||||
Copyright 1997-2006 by Easy Software Products, all rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs are the
|
||||
@@ -653,7 +653,7 @@ requested attributes cannot be supported.<br>
|
||||
<br>
|
||||
|
||||
<code>cupsRasterInterpretPPD</code> supports a subset of the PostScript language.
|
||||
Currently only the <code>[</code>, <code>]</code>, <code><<</code>, <code>>></code>, <code>{</code>,
|
||||
Currently only the <code>[</code>, <code>]</code>, <code><<</code>, <code>>></code>, <code>{</code>,
|
||||
<code>}</code>, <code>cleartomark</code>, <code>copy</code>, <code>dup</code>, <code>index</code>,
|
||||
<code>pop</code>, <code>roll</code>, <code>setpagedevice</code>, and <code>stopped</code> operators
|
||||
are supported.
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
client.conf - client configuration file for cups
|
||||
<h2 class="title"><a name="DESCRIPTION">Description</a></h2>
|
||||
The <i>client.conf</i> file configures the CUPS client and is
|
||||
normally located in the <i>/private/etc/cups</i> or <i>~/.cups</i>
|
||||
normally located in the <i>/etc/cups</i> or <i>~/.cups</i>
|
||||
directory. Each line in the file can be a configuration
|
||||
directive, a blank line, or a comment. Comment lines start with
|
||||
the # character.
|
||||
@@ -36,7 +36,7 @@ location.
|
||||
<dd>Specifies the Kerberos service name that is used for authentication, typically
|
||||
"host", "http", or "ipp". CUPS adds the remote hostname
|
||||
("name@server.example.com") for you. The default name is
|
||||
"host".
|
||||
"http".
|
||||
</dd>
|
||||
<dt>ServerName hostname-or-ip-address[:port]
|
||||
</dt>
|
||||
@@ -47,6 +47,13 @@ location.
|
||||
<dd>Specifies the address and optionally the port to use when connecting to the
|
||||
server. <b>Note: Not supported on OS X 10.7 or later.</b>
|
||||
</dd>
|
||||
<dt>ServerName hostname-or-ip-address[:port]/version=1.1
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dd>Specifies the address and optionally the port to use when connecting to a
|
||||
server running CUPS 1.3.12 and earlier. <b>Note: Not supported on OS X 10.7 or
|
||||
later.</b>
|
||||
</dd>
|
||||
<dt>User name
|
||||
</dt>
|
||||
<dd></dd>
|
||||
|
||||
@@ -14,8 +14,8 @@ cups-deviced - cups device daemon
|
||||
</b><i>request-id limit user-id options
|
||||
</i><h2 class="title"><a name="DESCRIPTION">Description</a></h2>
|
||||
<i>cups-deviced</i> polls the backends in
|
||||
<i>/usr/libexec/cups/backend</i> for a list of available devices.
|
||||
It is run by <a href='man-cupsd.html?TOPIC=Man+Pages'>cupsd(8)</a> in response to a
|
||||
<i>/usr/lib/cups/backend</i> or <i>/usr/libexec/cups/backend</i> (OS X) for a
|
||||
list of available devices. It is run by <a href='man-cupsd.html?TOPIC=Man+Pages'>cupsd(8)</a> in response to a
|
||||
<i>CUPS-Get-Devices</i> request. The output format is an IPP
|
||||
response message. The <i>request-id</i> argument is the request ID
|
||||
from the original IPP request, typically 1. The <i>limit</i>
|
||||
|
||||
@@ -36,9 +36,9 @@ accordingly.
|
||||
<h2 class="title"><a name="DRIVERS">Drivers</a></h2>
|
||||
Drivers can be static PPD files under the
|
||||
<i>/usr/share/cups/model</i> directory or programs under the
|
||||
<i>/usr/libexec/cups/driver</i> directory. Static PPD files must
|
||||
conform to the Adobe PPD File Format Specification version 4.3
|
||||
and may be compressed using the <i>gzip(1)</i> program. Driver
|
||||
<i>/usr/lib/cups/driver</i> or <i>/usr/libexec/cups/driver</i> (OS X) directories.
|
||||
Static PPD files must conform to the Adobe PPD File Format Specification version
|
||||
4.3 and may be compressed using the <i>gzip(1)</i> program. Driver
|
||||
programs must implement the command-line interface shown in the
|
||||
next section.
|
||||
<h3><a name="DRIVER_PROGRAMS">Driver Programs</a></h3>
|
||||
|
||||
@@ -12,7 +12,7 @@ cups-files.conf - file and directory configuration file for cups
|
||||
<h2 class="title"><a name="DESCRIPTION">Description</a></h2>
|
||||
The <i>cups-files.conf</i> file configures the files and directories used by the
|
||||
CUPS scheduler, <a href='man-cupsd.html?TOPIC=Man+Pages'>cupsd(8)</a>. It is normally located in the
|
||||
<i>/private/etc/cups</i> directory.
|
||||
<i>/etc/cups</i> directory.
|
||||
<p>Each line in the file can be a configuration directive, a blank line,
|
||||
or a comment. Comment lines start with the # character.
|
||||
<h2 class="title"><a name="DIRECTIVES">Directives</a></h2>
|
||||
|
||||
@@ -27,7 +27,7 @@ add the following line to the <i>inetd.conf</i> file to enable the
|
||||
<br>
|
||||
<pre>
|
||||
|
||||
printer stream tcp nowait lp /usr/libexec/cups/daemon/cups-lpd cups-lpd \
|
||||
printer stream tcp nowait lp /usr/lib/cups/daemon/cups-lpd cups-lpd \
|
||||
-o document-format=application/octet-stream
|
||||
</pre>
|
||||
<p><p><b>Note:</b> If you are using Solaris 10 or higher, you must run
|
||||
@@ -46,7 +46,7 @@ named <i>/etc/xinetd.d/cups</i> containing the following lines:
|
||||
user = lp
|
||||
group = sys
|
||||
passenv =
|
||||
server = /usr/libexec/cups/daemon/cups-lpd
|
||||
server = /usr/lib/cups/daemon/cups-lpd
|
||||
server_args = -o document-format=application/octet-stream
|
||||
}
|
||||
</pre>
|
||||
|
||||
@@ -10,6 +10,9 @@
|
||||
<h2 class="title"><a name="NAME">Name</a></h2>
|
||||
snmp - cups snmp backend
|
||||
<h2 class="title"><a name="SYNOPSIS">Synopsis</a></h2>
|
||||
<b>/usr/lib/cups/backend/snmp
|
||||
</b><i>ip-address-or-hostname
|
||||
</i><br>
|
||||
<b>/usr/libexec/cups/backend/snmp
|
||||
</b><i>ip-address-or-hostname
|
||||
</i><br>
|
||||
@@ -34,7 +37,7 @@ The CUPS SNMP backend uses the information from the Host, Printer, and Port
|
||||
Monitor MIBs along with some vendor private MIBs and intelligent port probes to
|
||||
determine the correct device URI and make and model for each printer.
|
||||
<h2 class="title"><a name="CONFIGURATION">Configuration</a></h2>
|
||||
The SNMP backend reads the /private/etc/cups/snmp.conf configuration file, if
|
||||
The SNMP backend reads the /etc/cups/snmp.conf configuration file, if
|
||||
present, to set the default broadcast address, community name, and logging
|
||||
level. The configuration file is documented in <a href='man-cups-snmp.conf.html?TOPIC=Man+Pages'>cups-snmp.conf(5)</a>. The
|
||||
DebugLevel value can be overridden using the CUPS_DEBUG_LEVEL environment
|
||||
|
||||
@@ -114,10 +114,7 @@ Windows 2000 or higher in the
|
||||
drivers and
|
||||
%WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 folder for 64-bit
|
||||
drivers.
|
||||
<p>The CUPS printer driver is preferred over the Microsoft driver
|
||||
since it supports the page-label, job-billing, and
|
||||
job-hold-until options fully on all printers. However, currently
|
||||
only Windows 2000 and higher is supported by the Microsoft
|
||||
<p>However, currently only Windows 2000 and higher is supported by the Microsoft
|
||||
driver, so you will also need to get the Adobe driver to support
|
||||
Windows 95, 98, and Me clients. The Adobe and Microsoft drivers
|
||||
for Windows 2000 are identical.
|
||||
@@ -137,36 +134,6 @@ as named below:
|
||||
you use the lowercase filenames shown above, otherwise
|
||||
<i>cupsaddsmb</i> will fail to export the drivers.
|
||||
|
||||
<h2 class="title"><a name="CUPS_POSTSCRIPT_DRIVERS_FOR_WINDOWS">Cups Postscript Drivers For Windows</a></h2>
|
||||
<i>cupsaddsmb</i> can use the CUPS v6 PostScript printer driver
|
||||
for Windows, which is available for download from the CUPS web
|
||||
site.
|
||||
<p>The CUPS printer driver is preferred over the Adobe and
|
||||
Microsoft drivers since it supports the page-label, job-billing,
|
||||
and job-hold-until options fully on all printers. However,
|
||||
currently only Windows 2000 and higher is supported by the CUPS
|
||||
driver, so you will also need to get the Adobe driver to support
|
||||
Windows 95, 98, and Me clients.
|
||||
<p>Once you have extracted the driver files, copy the 32-bit drivers
|
||||
to the <i>/usr/share/cups/drivers</i> directory and the 64-bit
|
||||
drivers to the <i>/usr/share/cups/drivers/x64</i> directory exactly
|
||||
as named below:
|
||||
<pre>
|
||||
|
||||
[Windows 2000 and higher]
|
||||
cups6.inf (from www.cups.org)
|
||||
cups6.ini (from www.cups.org)
|
||||
cupsps6.dll (from www.cups.org)
|
||||
cupsui6.dll (from www.cups.org)
|
||||
ps5ui.dll (from your Windows system)
|
||||
pscript.hlp (from your Windows system)
|
||||
pscript.ntf (from your Windows system)
|
||||
pscript5.dll (from your Windows system)
|
||||
</pre>
|
||||
<p><b>Note:</b> Unlike Windows, case is significant - make sure that
|
||||
you use the lowercase filenames shown above, otherwise
|
||||
<i>cupsaddsmb</i> will fail to export the drivers.
|
||||
|
||||
<h2 class="title"><a name="ADOBE_POSTSCRIPT_DRIVERS_FOR_WINDOWS_95,_98,_AND_ME">Adobe Postscript Drivers For Windows 95, 98, And Me</a></h2>
|
||||
<i>cupsaddsmb</i> can use the Adobe PostScript printer driver for
|
||||
Windows 95, 98, and ME, which are available for download from the
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
cupsd.conf - server configuration file for cups
|
||||
<h2 class="title"><a name="DESCRIPTION">Description</a></h2>
|
||||
The <i>cupsd.conf</i> file configures the CUPS scheduler, <a href='man-cupsd.html?TOPIC=Man+Pages'>cupsd(8)</a>. It
|
||||
is normally located in the <i>/private/etc/cups</i> directory. <b>Note:</b>
|
||||
is normally located in the <i>/etc/cups</i> directory. <b>Note:</b>
|
||||
File, directory, and user configuration directives that used to be allowed in
|
||||
the <i>cupsd.conf</i> file are now stored in the <a href='man-cups-files.conf.html?TOPIC=Man+Pages'>cups-files.conf(5)</a> instead
|
||||
in order to prevent certain types of privilege escalation attacks.
|
||||
@@ -242,7 +242,7 @@ are run to print a job.
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dd>Specifies the service name when using Kerberos authentication. The default
|
||||
service name is "host".
|
||||
service name is "http".
|
||||
</dd>
|
||||
<dt>HostNameLookups On
|
||||
</dt>
|
||||
|
||||
@@ -18,7 +18,7 @@ cupsd - cups scheduler
|
||||
<i>cupsd</i> is the scheduler for CUPS. It implements a printing system based
|
||||
upon the Internet Printing Protocol, version 2.1. If no options are specified
|
||||
on the command-line then the default configuration file
|
||||
<i>/private/etc/cups/cupsd.conf</i> will be used.
|
||||
<i>/etc/cups/cupsd.conf</i> will be used.
|
||||
<h2 class="title"><a name="OPTIONS">Options</a></h2>
|
||||
<dl>
|
||||
<dt>-c config-file
|
||||
|
||||
@@ -0,0 +1,316 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<!-- SECTION: Man Pages -->
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="../cups-printable.css">
|
||||
<title>ippfind(1)</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1 class="title">ippfind(1)</h1>
|
||||
<h2 class="title"><a name="NAME">Name</a></h2>
|
||||
ippfind - find internet printing protocol printers
|
||||
<h2 class="title"><a name="SYNOPSIS">Synopsis</a></h2>
|
||||
<b>ippfind
|
||||
</b>[
|
||||
<i>options
|
||||
</i>] regtype[,subtype][.domain.] ... [
|
||||
<i>expression ...
|
||||
</i>]
|
||||
<b>ippfind
|
||||
</b>[
|
||||
<i>options
|
||||
</i>] name[.regtype[.domain.]] ... [
|
||||
<i>expression ...
|
||||
</i>]
|
||||
<b>ippfind
|
||||
</b>--help
|
||||
<b>ippfind
|
||||
</b>--version
|
||||
<h2 class="title"><a name="OPTIONS">Options</a></h2>
|
||||
<dl>
|
||||
<dt>--help
|
||||
</dt>
|
||||
<dd>Show program help
|
||||
</dd>
|
||||
<dt>--version
|
||||
</dt>
|
||||
<dd>Show program version
|
||||
</dd>
|
||||
<dt>-4
|
||||
</dt>
|
||||
<dd>Use IPv4 when listing
|
||||
</dd>
|
||||
<dt>-6
|
||||
</dt>
|
||||
<dd>Use IPv6 when listing
|
||||
</dd>
|
||||
<dt>-T seconds
|
||||
</dt>
|
||||
<dd>Specify find timeout in seconds. If 1 or less, <i>ippfind</i> stops as soon as it thinks it has found everything. The default is 1 second.
|
||||
</dd>
|
||||
<dt>-V version
|
||||
</dt>
|
||||
<dd>Specifies the IPP version when listing. Supported values are 1.1, 2.0, 2.1, and 2.2.
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<h2 class="title"><a name="DESCRIPTION">Description</a></h2>
|
||||
<i>ippfind</i> finds services registered with a DNS server or available through local devices. Its primary purpose is to find IPP printers and show their URIs, show their current status, or run commands. For example, to show the status of all registered IPP printers on your network, run:
|
||||
<pre>
|
||||
ippfind --ls
|
||||
</pre>
|
||||
Similarly, to send a PostScript test page to every PostScript printer, run:
|
||||
<pre>
|
||||
ippfind --txt-pdl application/postscript --exec ipptool \
|
||||
-f onepage-letter.ps '{}' print-job.test \;
|
||||
</pre>
|
||||
|
||||
<h2 class="title"><a name="REGISTRATION_TYPES">Registration Types</a></h2>
|
||||
<i>ippfind</i> supports the following registration types:
|
||||
<dl>
|
||||
<dt>_http._tcp
|
||||
</dt>
|
||||
<dd>HyperText Transport Protocol (HTTP, RFC 2616)
|
||||
</dd>
|
||||
<dt>_https._tcp
|
||||
</dt>
|
||||
<dd>Secure HyperText Transport Protocol (HTTPS, RFC 2818)
|
||||
</dd>
|
||||
<dt>_ipp._tcp
|
||||
</dt>
|
||||
<dd>Internet Printing Protocol (IPP, RFC 2911)
|
||||
</dd>
|
||||
<dt>_ipps._tcp
|
||||
</dt>
|
||||
<dd>Secure Internet Printing Protocol (IPPS, draft)
|
||||
</dd>
|
||||
<dt>_printer._tcp
|
||||
</dt>
|
||||
<dd>Line Printer Daemon (LPD, RFC 1179)
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<h2 class="title"><a name="EXPRESSIONS">Expressions</a></h2>
|
||||
<i>ippfind</i> supports expressions much like the <i>find(1)</i> utility. However, unlike <i>find</i>, <i>ippfind</i> uses POSIX regular expressions instead of shell filename matching patterns. If --exec, -l, --ls, -p, --print, --print-name, -q, --quiet, -s, or -x is not specified, <i>ippfind</i> adds --print to print the service URI of anything it finds. The following expressions are supported:
|
||||
<dl>
|
||||
<dt>-d regex
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>--domain regex
|
||||
</dt>
|
||||
<dd>True if the domain matches the given regular expression.
|
||||
</dd>
|
||||
<dt>--false
|
||||
</dt>
|
||||
<dd>Always false.
|
||||
</dd>
|
||||
<dt>-h regex
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>--host regex
|
||||
</dt>
|
||||
<dd>True is the hostname matches the given regular expression.
|
||||
</dd>
|
||||
<dt>-l
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>--ls
|
||||
</dt>
|
||||
<dd>Lists attributes returned by Get-Printer-Attributes for IPP printers and traditional <i>find</i> "-ls" output for HTTP URLs. The result is true if the URI is accessible, false otherwise.
|
||||
</dd>
|
||||
<dt>--local
|
||||
</dt>
|
||||
<dd>True if the service is local to this computer.
|
||||
</dd>
|
||||
<dt>-n regex
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>--name regex
|
||||
</dt>
|
||||
<dd>True if the service instance name matches the given regular expression.
|
||||
</dd>
|
||||
<dt>--path regex
|
||||
</dt>
|
||||
<dd>True if the URI resource path matches the given regular expression.
|
||||
</dd>
|
||||
<dt>-P number[-number]
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>--port number[-number]
|
||||
</dt>
|
||||
<dd>True if the port matches the given number or range.
|
||||
</dd>
|
||||
<dt>-p
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>--print
|
||||
</dt>
|
||||
<dd>Prints the URI if the result of previous expressions is true. The result is always true.
|
||||
</dd>
|
||||
<dt>-q
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>--quiet
|
||||
</dt>
|
||||
<dd>Quiet mode - just returns the exit codes below.
|
||||
</dd>
|
||||
<dt>-r
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>--remote
|
||||
</dt>
|
||||
<dd>True if the service is not local to this computer.
|
||||
</dd>
|
||||
<dt>-s
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>--print-name
|
||||
</dt>
|
||||
<dd>Prints the service instance name if the result of previous expressions is true. The result is always true.
|
||||
</dd>
|
||||
<dt>--true
|
||||
</dt>
|
||||
<dd>Always true.
|
||||
</dd>
|
||||
<dt>-t key
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>--txt key
|
||||
</dt>
|
||||
<dd>True if the TXT record contains the named key.
|
||||
</dd>
|
||||
<dt>--txt-<i>key</i> regex
|
||||
</dt>
|
||||
<dd>True if the TXT record contains the named key and matches the given regular
|
||||
expression.
|
||||
</dd>
|
||||
<dt>-u regex
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>--uri regex
|
||||
</dt>
|
||||
<dd>True if the URI matches the given regular expression.
|
||||
</dd>
|
||||
<dt>-x utility [argument ...] ;
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>--exec utility [argument ...] ;
|
||||
</dt>
|
||||
<dd>Executes the specified program if the current result is true. "{foo}" arguments are replaced with the corresponding value - see SUBSTITUTIONS below.
|
||||
</dd>
|
||||
</dl>
|
||||
<p>Expressions may also contain modifiers:
|
||||
<dl>
|
||||
<dt>( expression )
|
||||
</dt>
|
||||
<dd>Group the result of expressions.
|
||||
</dd>
|
||||
<dt>! expression
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>--not expression
|
||||
</dt>
|
||||
<dd>Unary NOT of the expression.
|
||||
</dd>
|
||||
<dt>expression expression
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>expression --and expression
|
||||
</dt>
|
||||
<dd>Logical AND of expressions.
|
||||
</dd>
|
||||
<dt>expression --or expression
|
||||
</dt>
|
||||
<dd>Logical OR of expressions.
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<h2 class="title"><a name="SUBSTITUTIONS">Substitutions</a></h2>
|
||||
The substitutions for "{foo}" in -e and --exec are:
|
||||
<dl>
|
||||
<dt>{}
|
||||
</dt>
|
||||
<dd>URI
|
||||
</dd>
|
||||
<dt>{service_domain}
|
||||
</dt>
|
||||
<dd>Domain name, e.g., "example.com.", "local.", etc.
|
||||
</dd>
|
||||
<dt>{service_hostname}
|
||||
</dt>
|
||||
<dd>Fully-qualified domain name, e.g., "printer.example.com.", "printer.local.", etc.
|
||||
</dd>
|
||||
<dt>{service_name}
|
||||
</dt>
|
||||
<dd>Service instance name, e.g., "My Fine Printer".
|
||||
</dd>
|
||||
<dt>{service_port}
|
||||
</dt>
|
||||
<dd>Port number for server, typically 631 for IPP and 80 for HTTP.
|
||||
</dd>
|
||||
<dt>{service_regtype}
|
||||
</dt>
|
||||
<dd>DNS-SD registration type, e.g., "_ipp._tcp", "_http._tcp", etc.
|
||||
</dd>
|
||||
<dt>{service_scheme}
|
||||
</dt>
|
||||
<dd>URI scheme for DNS-SD registration type, e.g., "ipp", "http", etc.
|
||||
</dd>
|
||||
<dt>{service_uri}
|
||||
</dt>
|
||||
<dd>URI for service, e.g., "ipp://printer.local./ipp/print", "<a href='http://printer.local./",'>http://printer.local./",</a> etc.
|
||||
</dd>
|
||||
<dt>{txt_<i>key</i>}
|
||||
</dt>
|
||||
<dd>Value of TXT record <i>key</i> (lowercase).
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<h2 class="title"><a name="ENVIRONMENT_VARIABLES">Environment Variables</a></h2>
|
||||
When executing a program, <i>ippfind</i> sets the following environment variables for the matching service registration:
|
||||
<dl>
|
||||
<dt>IPPFIND_SERVICE_DOMAIN
|
||||
</dt>
|
||||
<dd>Domain name, e.g., "example.com.", "local.", etc.
|
||||
</dd>
|
||||
<dt>IPPFIND_SERVICE_HOSTNAME
|
||||
</dt>
|
||||
<dd>Fully-qualified domain name, e.g., "printer.example.com.", "printer.local.", etc.
|
||||
</dd>
|
||||
<dt>IPPFIND_SERVICE_NAME
|
||||
</dt>
|
||||
<dd>Service instance name, e.g., "My Fine Printer".
|
||||
</dd>
|
||||
<dt>IPPFIND_SERVICE_PORT
|
||||
</dt>
|
||||
<dd>Port number for server, typically 631 for IPP and 80 for HTTP.
|
||||
</dd>
|
||||
<dt>IPPFIND_SERVICE_REGTYPE
|
||||
</dt>
|
||||
<dd>DNS-SD registration type, e.g., "_ipp._tcp", "_http._tcp", etc.
|
||||
</dd>
|
||||
<dt>IPPFIND_SERVICE_SCHEME
|
||||
</dt>
|
||||
<dd>URI scheme for DNS-SD registration type, e.g., "ipp", "http", etc.
|
||||
</dd>
|
||||
<dt>IPPFIND_SERVICE_URI
|
||||
</dt>
|
||||
<dd>URI for service, e.g., "ipp://printer.local./ipp/print", "<a href='http://printer.local./",'>http://printer.local./",</a> etc.
|
||||
</dd>
|
||||
<dt>IPPFIND_TXT_<i>KEY</i>
|
||||
</dt>
|
||||
<dd>Values of TXT record <i>KEY</i> (uppercase).
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<h2 class="title"><a name="EXIT_CODES">Exit Codes</a></h2>
|
||||
<i>ippfind</i> returns 0 if the result for all processed expressions is true, 1 if the result of any processed expression is false, 2 if browsing or any query or resolution failed, 3 if an undefined option or invalid expression was specified, and 4 if it ran out of memory.
|
||||
|
||||
<h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
|
||||
<a href='man-ipptool.html?TOPIC=Man+Pages'>ipptool(1)</a>
|
||||
|
||||
<h2 class="title"><a name="COPYRIGHT">Copyright</a></h2>
|
||||
Copyright 2013 by Apple Inc.
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -11,7 +11,8 @@
|
||||
ipptool - perform internet printing protocol requests
|
||||
<h2 class="title"><a name="SYNOPSIS">Synopsis</a></h2>
|
||||
<b>ipptool
|
||||
</b>[ -4 ] [ -6 ] [ -C ] [ -E ] [ -I ] [ -L ] [ -S ] [ -T
|
||||
</b>[ --help ] [ --stop-after-include-error ] [ --version ]
|
||||
[ -4 ] [ -6 ] [ -C ] [ -E ] [ -I ] [ -L ] [ -S ] [ -T
|
||||
<i>seconds
|
||||
</i>] [ -V
|
||||
<i>version
|
||||
@@ -34,6 +35,14 @@ ipptool - perform internet printing protocol requests
|
||||
<h2 class="title"><a name="OPTIONS">Options</a></h2>
|
||||
The following options are recognized by <i>ipptool</i>:
|
||||
<dl>
|
||||
<dt>--help
|
||||
</dt>
|
||||
<dd>Shows program help.
|
||||
--stop-after-include-error
|
||||
Tells <i>ipptool</i> to stop if an error occurs in an included file. Normally <i>ipptool</i> will continue with subsequent tests after the INCLUDE directive.
|
||||
--version
|
||||
Shows the version of <i>ipptool</i> being used.
|
||||
</dd>
|
||||
<dt>-4
|
||||
</dt>
|
||||
<dd>Specifies that <i>ipptool</i> must connect to the printer or server using IPv4.
|
||||
@@ -107,6 +116,8 @@ The following options are recognized by <i>ipptool</i>:
|
||||
<dd>Specifies that all request and response attributes should be output in CUPS test mode (<i>-t</i>). This is the default for XML output.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2 class="title"><a name="EXIT_CODE">Exit Code</a></h2>
|
||||
The <i>ipptool</i> program returns 0 if all tests were sucessful and 1 otherwise.
|
||||
<h2 class="title"><a name="COMPATIBILITY">Compatibility</a></h2>
|
||||
The <i>ipptool</i> program is unique to CUPS.
|
||||
<h2 class="title"><a name="EXAMPLES">Examples</a></h2>
|
||||
@@ -130,21 +141,28 @@ The following standard files are available:
|
||||
document-letter.ps
|
||||
get-completed-jobs.test
|
||||
get-jobs.test
|
||||
get-notifications.test
|
||||
get-printer-attributes.test
|
||||
get-subscriptions.test
|
||||
gray.jpg
|
||||
ipp-1.1.test
|
||||
ipp-2.0.test
|
||||
ipp-2.1.test
|
||||
ipp-2.2.test
|
||||
ipp-everywhere.test
|
||||
onepage-a4.pdf
|
||||
onepage-a4.ps
|
||||
onepage-letter.pdf
|
||||
onepage-letter.ps
|
||||
print-job.test
|
||||
print-job-deflate.test
|
||||
print-job-gzip.test
|
||||
testfile.jpg
|
||||
testfile.pcl
|
||||
testfile.pdf
|
||||
testfile.ps
|
||||
testfile.txt
|
||||
validate-job.test
|
||||
</pre>
|
||||
<h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
|
||||
<a href='man-ipptoolfile.html?TOPIC=Man+Pages'>ipptoolfile(5)</a>,
|
||||
|
||||
@@ -76,6 +76,10 @@ The following directives can be used outside of a test:
|
||||
<dd>Defines the named variable to the given value if it does not already have a
|
||||
value.
|
||||
</dd>
|
||||
<dt>FILE-ID "identifier"
|
||||
</dt>
|
||||
<dd>Specifies an identifier string for the current file.
|
||||
</dd>
|
||||
<dt>IGNORE-ERRORS yes
|
||||
</dt>
|
||||
<dd></dd>
|
||||
@@ -119,6 +123,13 @@ includes a file from the <i>ipptool</i> include directory.
|
||||
<dd>Specifies that the remainder of the test file should be skipped when the
|
||||
variable is or is not defined.
|
||||
</dd>
|
||||
<dt>STOP-AFTER-INCLUDE-ERROR no
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>STOP-AFTER-INCLUDE-ERROR yes
|
||||
</dt>
|
||||
<dd>Specifies whether tests will be stopped after an error in an included file.
|
||||
</dd>
|
||||
<dt>TRANSFER auto
|
||||
</dt>
|
||||
<dd>Specifies that tests will, by default, use "Transfer-Encoding: chunked" for
|
||||
@@ -264,6 +275,10 @@ resulted in an error/failure.
|
||||
added as predicates - see the "STATUS PREDICATES" section for more information
|
||||
on predicates.
|
||||
</dd>
|
||||
<dt>TEST-ID "identifier"
|
||||
</dt>
|
||||
<dd>Specifies an identifier string for the current test.
|
||||
</dd>
|
||||
<dt>TRANSFER auto
|
||||
</dt>
|
||||
<dd>Specifies that this test will use "Transfer-Encoding: chunked" if it has an
|
||||
@@ -353,6 +368,27 @@ matches or does not match.
|
||||
<dd>Requires the EXPECT attribute to have the same number of values as the specified
|
||||
parallel attribute.
|
||||
</dd>
|
||||
<dt>WITH-ALL-HOSTNAMES "literal string"
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>WITH-ALL-HOSTNAMES "/regular expression/"
|
||||
</dt>
|
||||
<dd>Requires that all URI values contain a matching hostname.
|
||||
</dd>
|
||||
<dt>WITH-ALL-RESOURCES "literal string"
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>WITH-ALL-RESOURCES "/regular expression/"
|
||||
</dt>
|
||||
<dd>Requires that all URI values contain a matching resource (including leading /).
|
||||
</dd>
|
||||
<dt>WITH-ALL-SCHEMES "literal string"
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>WITH-ALL-SCHEMES "/regular expression/"
|
||||
</dt>
|
||||
<dd>Requires that all URI values contain a matching scheme.
|
||||
</dd>
|
||||
<dt>WITH-ALL-VALUES "literal string"
|
||||
</dt>
|
||||
<dd>Requires that all values of the EXPECT attribute match the literal string. Comparisons are case-sensitive.
|
||||
@@ -381,6 +417,27 @@ parallel attribute.
|
||||
</dt>
|
||||
<dd>Requires that all values of the EXPECT attribute match the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive.
|
||||
</dd>
|
||||
<dt>WITH-HOSTNAME "literal string"
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>WITH-HOSTNAME "/regular expression/"
|
||||
</dt>
|
||||
<dd>Requires that at least one URI value contains a matching hostname.
|
||||
</dd>
|
||||
<dt>WITH-RESOURCE "literal string"
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>WITH-RESOURCE "/regular expression/"
|
||||
</dt>
|
||||
<dd>Requires that at least one URI value contains a matching resource (including leading /).
|
||||
</dd>
|
||||
<dt>WITH-SCHEME "literal string"
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>WITH-SCHEME "/regular expression/"
|
||||
</dt>
|
||||
<dd>Requires that at least one URI value contains a matching scheme.
|
||||
</dd>
|
||||
<dt>WITH-VALUE "literal string"
|
||||
</dt>
|
||||
<dd>Requires that at least one value of the EXPECT attribute matches the literal string. Comparisons are case-sensitive.
|
||||
@@ -506,6 +563,7 @@ RFC 2911 and other IPP extension specifications. Here is a complete list:
|
||||
Resume-Printer
|
||||
Schedule-Job-After
|
||||
Send-Document
|
||||
Send-Hardcopy-Document
|
||||
Send-Notifications
|
||||
Send-URI
|
||||
Set-Job-Attributes
|
||||
|
||||
@@ -118,14 +118,14 @@ standard output.
|
||||
<h2 class="title"><a name="ROOT_ACCOUNT_OPTIONS">Root Account Options</a></h2>
|
||||
When run by the root user, <i>lpoptions</i> gets and sets default
|
||||
options and instances for <i>all users</i> in the
|
||||
/private/etc/cups/lpoptions file.
|
||||
/etc/cups/lpoptions file.
|
||||
<h2 class="title"><a name="COMPATIBILITY">Compatibility</a></h2>
|
||||
The <i>lpoptions</i> command is unique to CUPS.
|
||||
<h2 class="title"><a name="FILES">Files</a></h2>
|
||||
~/.cups/lpoptions - user defaults and instances created by non-root
|
||||
users.
|
||||
<br>
|
||||
/private/etc/cups/lpoptions - system-wide defaults and instances
|
||||
/etc/cups/lpoptions - system-wide defaults and instances
|
||||
created by the root user.
|
||||
<h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
|
||||
<a href='man-cancel.html?TOPIC=Man+Pages'>cancel(1)</a>, <a href='man-lp.html?TOPIC=Man+Pages'>lp(1)</a>, <a href='man-lpadmin.html?TOPIC=Man+Pages'>lpadmin(8)</a>, <a href='man-lpr.html?TOPIC=Man+Pages'>lpr(1)</a>,
|
||||
|
||||
+10
-10
@@ -88,10 +88,10 @@ page on the device.</P>
|
||||
<PRE>
|
||||
socket://<i>ip-address-or-hostname</i>
|
||||
socket://<i>ip-address-or-hostname</i>/?option=value
|
||||
socket://<i>ip-address-or-hostname</i>/?option=value&option=value
|
||||
socket://<i>ip-address-or-hostname</i>/?option=value&option=value
|
||||
socket://<i>ip-address-or-hostname</i>:<i>port-number</i>
|
||||
socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?option=value
|
||||
socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?option=value&option=value
|
||||
socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?option=value&option=value
|
||||
</PRE>
|
||||
|
||||
<P>The "contimeout" option controls the number of seconds that the backend will wait to obtain a connection to the printer. The default is 1 week.</P>
|
||||
@@ -107,19 +107,19 @@ socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?option=value&option=v
|
||||
<PRE>
|
||||
http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>
|
||||
http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value</i>
|
||||
http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
|
||||
http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
|
||||
ipp://<i>ip-address-or-hostname</i>/<i>resource</i>
|
||||
ipp://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value</i>
|
||||
ipp://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&option=value</i>
|
||||
ipp://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&option=value</i>
|
||||
ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>
|
||||
ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value</i>
|
||||
ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
|
||||
ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
|
||||
ipps://<i>ip-address-or-hostname</i>/<i>resource</i>
|
||||
ipps://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value</i>
|
||||
ipps://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&option=value</i>
|
||||
ipps://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&option=value</i>
|
||||
ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>
|
||||
ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value</i>
|
||||
ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
|
||||
ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
|
||||
</PRE>
|
||||
|
||||
<P>The <tt>ipp</tt> backend supports many options, which are summarized in <A HREF="#TABLE2">Table 2</A>.</P>
|
||||
@@ -189,8 +189,8 @@ lpd://<i>ip-address-or-hostname</i>/<i>queue</i>
|
||||
lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>
|
||||
lpd://<i>ip-address-or-hostname</i>/<i>queue</i>?<i>option=value</i>
|
||||
lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value</i>
|
||||
lpd://<i>ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option=value</i>
|
||||
lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option=value</i>
|
||||
lpd://<i>ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option=value</i>
|
||||
lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option=value</i>
|
||||
</PRE>
|
||||
|
||||
<P><A HREF="#TABLE3">Table 3</A> summarizes the options supported by the <tt>lpd</tt> backend.</P>
|
||||
@@ -436,7 +436,7 @@ CUPS_DEBUG_LEVEL=2 /usr/lib/cups/backend/snmp 2>&1 | tee snmp.log
|
||||
<P>For C shell (/bin/csh) and TCsh (/bin/tcsh), use the following command instead:</P>
|
||||
|
||||
<PRE CLASS="command">
|
||||
(setenv CUPS_DEBUG_LEVEL 2; /usr/lib/cups/backend/snmp) |& tee snmp.log
|
||||
(setenv CUPS_DEBUG_LEVEL 2; /usr/lib/cups/backend/snmp) |& tee snmp.log
|
||||
</PRE>
|
||||
|
||||
<P>On MacOS X you'll find the SNMP backend in /usr/libexec/cups/backend instead:</P>
|
||||
|
||||
@@ -56,6 +56,8 @@ GSSServiceName ipp
|
||||
ServerName foo.bar.com
|
||||
ServerName 11.22.33.44
|
||||
ServerName foo.bar.com:8631
|
||||
<SPAN CLASS="info">CUPS 1.6</SPAN>ServerName foo.bar.com/version=1.1
|
||||
<SPAN CLASS="info">CUPS 1.6</SPAN>ServerName foo.bar.com:8631/version=1.1
|
||||
</PRE>
|
||||
|
||||
<H3>Description</H3>
|
||||
@@ -64,6 +66,8 @@ ServerName foo.bar.com:8631
|
||||
|
||||
<P>The default port number is 631 but can be overridden by adding a colon followed by the desired port number to the value.</P>
|
||||
|
||||
<P>By default, CUPS 1.6 and later use IPP/2.0 to communicate with the server. Add "/version=1.1" to force IPP/1.1 which is required for CUPS 1.3.12 and earlier.</P>
|
||||
|
||||
<P>The default is to use the local server ("<VAR>localhost</VAR>") or domain socket, if so configured.</P>
|
||||
|
||||
<BLOCKQUOTE><B>Note:</B>
|
||||
|
||||
@@ -37,7 +37,7 @@ server activity.</P>
|
||||
information to the system log instead of a plain file.</P>
|
||||
|
||||
<P>The default access log file is
|
||||
<VAR>@CUPS_LOGDIR@/access_log</VAR>.</P>
|
||||
<VAR>/var/log/access_log</VAR>.</P>
|
||||
|
||||
|
||||
<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.15</SPAN><A NAME="ConfigFilePerm">ConfigFilePerm</A></H2>
|
||||
@@ -51,7 +51,7 @@ ConfigFilePerm 0640
|
||||
|
||||
<H3>Description</H3>
|
||||
|
||||
<P>The <CODE>ConfigFilePerm</CODE> directive specifies the permissions to use when the scheduler writes configuration and cache files, typically in response to IPP or HTTP requests. The default is @CUPS_CONFIG_FILE_PERM@.</P>
|
||||
<P>The <CODE>ConfigFilePerm</CODE> directive specifies the permissions to use when the scheduler writes configuration and cache files, typically in response to IPP or HTTP requests. The default is 644 on OS X and 640 on all other operating systems.</P>
|
||||
|
||||
<BLOCKQUOTE><B>Note:</B>
|
||||
|
||||
@@ -89,13 +89,13 @@ DocumentRoot /foo/bar/doc/cups
|
||||
of web content for the HTTP server in CUPS. If an absolute path
|
||||
is not specified then it is assumed to be relative to the <A
|
||||
HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
|
||||
default directory is <VAR>@CUPS_DOCROOT@</VAR>.</P>
|
||||
default directory is <VAR>/usr/share/doc/cups</VAR>.</P>
|
||||
|
||||
<P>Documents are first looked up in a sub-directory for the
|
||||
primary language requested by the client (e.g.
|
||||
<VAR>@CUPS_DOCROOT@/fr/...</VAR>) and then directly under
|
||||
<VAR>/usr/share/doc/cups/fr/...</VAR>) and then directly under
|
||||
the <CODE>DocumentRoot</CODE> directory (e.g.
|
||||
<VAR>@CUPS_DOCROOT@/...</VAR>), so it is possible to
|
||||
<VAR>/usr/share/doc/cups/...</VAR>), so it is possible to
|
||||
localize the web content by providing subdirectories for each
|
||||
language needed.</P>
|
||||
|
||||
@@ -116,7 +116,7 @@ ErrorLog syslog
|
||||
log file. If the filename is not absolute then it is assumed to
|
||||
be relative to the <A
|
||||
HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
|
||||
default error log file is <VAR>@CUPS_LOGDIR@/error_log</VAR>.</P>
|
||||
default error log file is <VAR>/var/log/cups/error_log</VAR>.</P>
|
||||
|
||||
<P>The server name can be included in the filename by using
|
||||
<CODE>%s</CODE> in the name.</P>
|
||||
@@ -172,7 +172,7 @@ errors are fatal. The following kinds of errors are currently recognized:</P>
|
||||
|
||||
<P>Multiple errors can be listed, and the form "-kind" can be used with
|
||||
<CODE>all</CODE> to remove specific kinds of errors. The default setting is
|
||||
<CODE>@CUPS_FATAL_ERRORS@</CODE>.</P>
|
||||
<CODE>config</CODE>.</P>
|
||||
|
||||
|
||||
<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.18</SPAN><A NAME="FileDevice">FileDevice</A></H2>
|
||||
@@ -255,7 +255,7 @@ LogFilePerm 0600
|
||||
|
||||
<P>The <CODE>LogFilePerm</CODE> directive specifies the
|
||||
permissions to use when writing log files. The default
|
||||
is @CUPS_LOG_FILE_PERM@.</P>
|
||||
is 644.</P>
|
||||
|
||||
|
||||
<H2 CLASS="title"><A NAME="PageLog">PageLog</A></H2>
|
||||
@@ -274,7 +274,7 @@ PageLog syslog
|
||||
log file. If the filename is not absolute then it is assumed to
|
||||
be relative to the <A
|
||||
HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
|
||||
default page log file is <VAR>@CUPS_LOGDIR@/page_log</VAR>.</P>
|
||||
default page log file is <VAR>/var/log/cups/page_log</VAR>.</P>
|
||||
|
||||
<P>The server name can be included in the filename by using
|
||||
<CODE>%s</CODE> in the name.</P>
|
||||
@@ -296,17 +296,9 @@ Printcap /Library/Preferences/org.cups.printers.plist
|
||||
|
||||
<H3>Description</H3>
|
||||
|
||||
<P>The <CODE>Printcap</CODE> directive controls whether or not a
|
||||
printcap file is automatically generated and updated with a list
|
||||
of available printers. If specified with no value, then no
|
||||
printcap file will be generated. The default is to generate a
|
||||
file named <VAR>@CUPS_DEFAULT_PRINTCAP@</VAR>.</P>
|
||||
<P>The <CODE>Printcap</CODE> directive controls whether or not a printcap file is automatically generated and updated with a list of available printers. If specified with no value, then no printcap file will be generated. The default is to generate a file named <VAR>/Library/Preferences.org.cups.printers.plist</VAR> on OS X and <VAR>/etc/printcap</VAR> on all other operating systems.</P>
|
||||
|
||||
<P>When a filename is specified (e.g. <VAR>@CUPS_DEFAULT_PRINTCAP@</VAR>),
|
||||
the printcap file is written whenever a printer is added or
|
||||
removed. The printcap file can then be used by applications that
|
||||
are hardcoded to look at the printcap file for the available
|
||||
printers.</P>
|
||||
<P>When a filename is specified (e.g. <VAR>/etc/printcap</VAR>), the printcap file is written whenever a printer is added or removed. The printcap file can then be used by applications that are hardcoded to look at the printcap file for the available printers.</P>
|
||||
|
||||
|
||||
<H2 CLASS="title"><A NAME="PrintcapFormat">PrintcapFormat</A></H2>
|
||||
@@ -359,7 +351,7 @@ RequestRoot /foo/bar/spool/cups
|
||||
incoming IPP requests and HTML forms. If an absolute path is not
|
||||
provided then it is assumed to be relative to the <A
|
||||
HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
|
||||
default request directory is <VAR>@CUPS_REQUESTS@</VAR>.</P>
|
||||
default request directory is <VAR>/var/spool/cups</VAR>.</P>
|
||||
|
||||
|
||||
<H2 CLASS="title"><A NAME="ServerBin">ServerBin</A></H2>
|
||||
@@ -451,10 +443,7 @@ SystemGroup root lpadmin
|
||||
|
||||
<H3>Description</H3>
|
||||
|
||||
<P>The <CODE>SystemGroup</CODE> directive specifies the system
|
||||
administration group for <CODE>System</CODE> authentication.
|
||||
Multiple groups can be listed, separated with spaces. The default
|
||||
group list is <CODE>@CUPS_SYSTEM_GROUPS@</CODE>.</P>
|
||||
<P>The <CODE>SystemGroup</CODE> directive specifies the system administration group for <CODE>System</CODE> authentication. Multiple groups can be listed, separated with spaces. The default group list is <CODE>admin</CODE> on OS X and <CODE>lpadmin</CODE>, <CODE>root</CODE>, <CODE>sys</CODE>, and/or <CODE>system</CODE> on other operating systems.</P>
|
||||
|
||||
|
||||
<H2 CLASS="title"><A NAME="TempDir">TempDir</A></H2>
|
||||
@@ -470,7 +459,7 @@ TempDir /foo/bar/tmp
|
||||
|
||||
<P>The <CODE>TempDir</CODE> directive specifies an absolute path
|
||||
for the directory to use for temporary files. The default
|
||||
directory is <VAR>@CUPS_REQUESTS@/tmp</VAR>.</P>
|
||||
directory is <VAR>/var/spool/cups/tmp</VAR>.</P>
|
||||
|
||||
<P>Temporary directories must be world-writable and should have
|
||||
the "sticky" permission bit enabled so that other users cannot
|
||||
@@ -483,6 +472,10 @@ an appropriate temporary directory called
|
||||
<KBD>chmod a+rwxt /foo/bar/tmp</KBD>
|
||||
</PRE>
|
||||
|
||||
<BLOCKQUOTE><B>Note:</B>
|
||||
|
||||
<P>The <CODE>TempDir</CODE> cannot be pointed at a standard system temporary directory such as <VAR>/tmp</VAR> or <VAR>/var/tmp</VAR> for security reasons.</P></BLOCKQUOTE>
|
||||
|
||||
|
||||
<H2 CLASS="title"><A NAME="User">User</A></H2>
|
||||
|
||||
@@ -495,9 +488,7 @@ User guest
|
||||
|
||||
<H3>Description</H3>
|
||||
|
||||
<P>The <CODE>User</CODE> directive specifies the UNIX user that
|
||||
filter and CGI programs run as. The default user is
|
||||
<CODE>@CUPS_USER@</CODE>.</P>
|
||||
<P>The <CODE>User</CODE> directive specifies the UNIX user that filter and CGI programs run as. The default user is <CODE>_lp</CODE>, <CODE>lp</CODE>, or <CODE>nobody</CODE> (whichever is found first).</P>
|
||||
|
||||
<BLOCKQUOTE><B>Note:</B>
|
||||
|
||||
|
||||
@@ -247,10 +247,7 @@ BrowseLocalProtocols dnssd
|
||||
|
||||
<H3>Description</H3>
|
||||
|
||||
<P>The <CODE>BrowseLocalProtocols</CODE> directive specifies the
|
||||
protocols to use when advertising local shared printers on the
|
||||
network. Multiple protocols can be specified by separating them
|
||||
with spaces. The default is "<CODE>@CUPS_BROWSE_LOCAL_PROTOCOLS@</CODE>".</P>
|
||||
<P>The <CODE>BrowseLocalProtocols</CODE> directive specifies the protocols to use when advertising local shared printers on the network. Multiple protocols can be specified by separating them with spaces. The default is "<CODE>dnssd</CODE>" on systems that support Bonjour and "<CODE>none</CODE>" on all others.</P>
|
||||
|
||||
|
||||
<H2 CLASS="title"><A NAME="BrowseWebIF">BrowseWebIF</A></H2>
|
||||
@@ -280,9 +277,7 @@ Browsing Off
|
||||
|
||||
<H3>Description</H3>
|
||||
|
||||
<P>The <CODE>Browsing</CODE> directive controls whether or not
|
||||
printer sharing is enabled. The default setting is
|
||||
<CODE>@CUPS_BROWSING@</CODE>.</P>
|
||||
<P>The <CODE>Browsing</CODE> directive controls whether or not printer sharing is enabled. The default setting is <CODE>On</CODE>.</P>
|
||||
|
||||
|
||||
<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="Classification">Classification</A></H2>
|
||||
@@ -430,15 +425,13 @@ and other job operations.</P>
|
||||
<H3>Examples</H3>
|
||||
|
||||
<PRE CLASS="command">
|
||||
DefaultShared yes
|
||||
DefaultShared no
|
||||
DefaultShared Yes
|
||||
DefaultShared No
|
||||
</PRE>
|
||||
|
||||
<H3>Description</H3>
|
||||
|
||||
<P>The <CODE>DefaultShared</CODE> directive specifies whether
|
||||
printers are shared (published) by default. The default is
|
||||
<CODE>@CUPS_DEFAULT_SHARED@</CODE>.</P>
|
||||
<P>The <CODE>DefaultShared</CODE> directive specifies whether printers are shared (published) by default. The default is <CODE>Yes</CODE>.</P>
|
||||
|
||||
|
||||
<H2 CLASS="title"><A NAME="Deny">Deny</A></H2>
|
||||
@@ -628,7 +621,7 @@ GSSServiceName ipp
|
||||
|
||||
<H3>Description</H3>
|
||||
|
||||
<P>The <CODE>GSSServiceName</CODE> directive sets the Kerberos service name to use. The default is <CODE>@CUPS_DEFAULT_GSSSERVICE_NAME@</CODE> for compatibility with Microsoft Windows.</P>
|
||||
<P>The <CODE>GSSServiceName</CODE> directive sets the Kerberos service name to use. The default is <CODE>http</CODE> for compatibility with Microsoft Windows.</P>
|
||||
|
||||
|
||||
<H2 CLASS="title"><A NAME="HostNameLookups">HostNameLookups</A></H2>
|
||||
@@ -2150,13 +2143,13 @@ to wait before an active HTTP or IPP request times out in seconds (no suffix), m
|
||||
<H3>Examples</H3>
|
||||
|
||||
<PRE CLASS="command">
|
||||
WebInterface yes
|
||||
WebInterface no
|
||||
WebInterface Yes
|
||||
WebInterface No
|
||||
</PRE>
|
||||
|
||||
<H3>Description</H3>
|
||||
|
||||
<P>The <CODE>WebInterface</CODE> directive specifies whether the web interface is enabled. The default value is <CODE>@CUPS_WEBIF@</CODE>.</P>
|
||||
<P>The <CODE>WebInterface</CODE> directive specifies whether the web interface is enabled. The default value is <CODE>No</CODE> on OS X and <CODE>Yes</CODE> on all other operating systems.</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -196,7 +196,7 @@ HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
|
||||
<PRE CLASS="command">
|
||||
<Subscription NNN>
|
||||
...
|
||||
LeaseDuration
|
||||
LeaseDuration
|
||||
</Subscription>
|
||||
</PRE>
|
||||
|
||||
@@ -335,17 +335,17 @@ unique (to the server) number starting at 1.</P>
|
||||
<PRE CLASS="command">
|
||||
<Subscription NNN>
|
||||
...
|
||||
UserData mailto:bar<40>domain.com
|
||||
UserData mailto:bar<40>example.com
|
||||
</Subscription>
|
||||
</PRE>
|
||||
|
||||
<H3>Description</H3>
|
||||
|
||||
<P>The <CODE>UserData</CODE> directive specifies the
|
||||
<CODE>notify-user-data</CODE> value, which is normally the "from"
|
||||
<CODE>notify-user-data</CODE> value, which is normally the "to"
|
||||
address used in <CODE>mailto</CODE> notifications. Binary values
|
||||
are introduced by encoding the bytes as hexadecimal values inside
|
||||
angle brackets, e.g. "<1234>".</P>
|
||||
angle brackets, e.g. "<1234>".</P>
|
||||
|
||||
<P>The <CODE>UserData</CODE> directive must appear inside a <A
|
||||
HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
|
||||
|
||||
@@ -48,7 +48,7 @@ authentication:</P>
|
||||
middle" and replay attacks from the same client.</P>
|
||||
|
||||
<P><B>Recommendation:</B> Enable encryption to hide the
|
||||
username and password information.</P></LI></LI>
|
||||
username and password information.</P></LI>
|
||||
|
||||
<LI>Local certificate authentication passes 128-bit
|
||||
"certificates" that identify an authenticated user.
|
||||
@@ -65,7 +65,7 @@ authentication:</P>
|
||||
socket.</P>
|
||||
|
||||
<P><B>Recommendation:</B> Ensure that unauthorized users
|
||||
are not added to the system group(s).</P></LI></LI>
|
||||
are not added to the system group(s).</P></LI>
|
||||
|
||||
</OL>
|
||||
|
||||
|
||||
Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais
Referência em uma Nova Issue
Bloquear um usuário