package Net::CUPS::IPP;
##==================================================================##
## Libraries and Variables ##
##==================================================================##
use 5.006;
use strict;
use warnings;
use Carp;
require Exporter;
use AutoLoader;
use Net::CUPS;
our @ISA = qw(Exporter);
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
# This allows declaration use Net::CUPS ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = ( 'all' => [ qw(
AF_LOCAL
CUPS_ACCEPT_JOBS
CUPS_ADD_CLASS
CUPS_ADD_MODIFY_CLASS
CUPS_ADD_MODIFY_PRINTER
CUPS_ADD_PRINTER
CUPS_AUTHENTICATE_JOB
CUPS_AUTO_ENCODING
CUPS_BACKEND_AUTH_REQUIRED
CUPS_BACKEND_CANCEL
CUPS_BACKEND_FAILED
CUPS_BACKEND_HOLD
CUPS_BACKEND_OK
CUPS_BACKEND_STOP
CUPS_DATE_ANY
CUPS_DELETE_CLASS
CUPS_DELETE_PRINTER
CUPS_ENCODING_DBCS_END
CUPS_ENCODING_SBCS_END
CUPS_ENCODING_VBCS_END
CUPS_EUC_CN
CUPS_EUC_JP
CUPS_EUC_KR
CUPS_EUC_TW
CUPS_FILE_GZIP
CUPS_FILE_NONE
CUPS_GET_CLASSES
CUPS_GET_DEFAULT
CUPS_GET_DEVICES
CUPS_GET_PPDS
CUPS_GET_PRINTERS
CUPS_IMAGE_BLACK
CUPS_IMAGE_CMY
CUPS_IMAGE_CMYK
CUPS_IMAGE_RGB
CUPS_IMAGE_RGB_CMYK
CUPS_IMAGE_WHITE
CUPS_ISO8859_1
CUPS_ISO8859_10
CUPS_ISO8859_11
CUPS_ISO8859_13
CUPS_ISO8859_14
CUPS_ISO8859_15
CUPS_ISO8859_16
CUPS_ISO8859_2
CUPS_ISO8859_3
CUPS_ISO8859_4
CUPS_ISO8859_5
CUPS_ISO8859_6
CUPS_ISO8859_7
CUPS_ISO8859_8
CUPS_ISO8859_9
CUPS_KOI8_R
CUPS_KOI8_U
CUPS_MAC_ROMAN
CUPS_MAX_USTRING
CUPS_MOVE_JOB
CUPS_PRINTER_AUTHENTICATED
CUPS_PRINTER_BIND
CUPS_PRINTER_BW
CUPS_PRINTER_CLASS
CUPS_PRINTER_COLLATE
CUPS_PRINTER_COLOR
CUPS_PRINTER_COMMANDS
CUPS_PRINTER_COPIES
CUPS_PRINTER_COVER
CUPS_PRINTER_DEFAULT
CUPS_PRINTER_DELETE
CUPS_PRINTER_DUPLEX
CUPS_PRINTER_FAX
CUPS_PRINTER_IMPLICIT
CUPS_PRINTER_LARGE
CUPS_PRINTER_LOCAL
CUPS_PRINTER_MEDIUM
CUPS_PRINTER_NOT_SHARED
CUPS_PRINTER_OPTIONS
CUPS_PRINTER_PUNCH
CUPS_PRINTER_REJECTING
CUPS_PRINTER_REMOTE
CUPS_PRINTER_SMALL
CUPS_PRINTER_SORT
CUPS_PRINTER_STAPLE
CUPS_PRINTER_VARIABLE
CUPS_REJECT_JOBS
CUPS_SET_DEFAULT
CUPS_US_ASCII
CUPS_UTF8
CUPS_VERSION
CUPS_VERSION_MAJOR
CUPS_VERSION_MINOR
CUPS_VERSION_PATCH
CUPS_WINDOWS_1250
CUPS_WINDOWS_1251
CUPS_WINDOWS_1252
CUPS_WINDOWS_1253
CUPS_WINDOWS_1254
CUPS_WINDOWS_1255
CUPS_WINDOWS_1256
CUPS_WINDOWS_1257
CUPS_WINDOWS_1258
CUPS_WINDOWS_1361
CUPS_WINDOWS_874
CUPS_WINDOWS_932
CUPS_WINDOWS_936
CUPS_WINDOWS_949
CUPS_WINDOWS_950
HTTP_0_9
HTTP_1_0
HTTP_1_1
HTTP_ACCEPTED
HTTP_AUTH_BASIC
HTTP_AUTH_MD5
HTTP_AUTH_MD5_INT
HTTP_AUTH_MD5_SESS
HTTP_AUTH_MD5_SESS_INT
HTTP_AUTH_NONE
HTTP_BAD_GATEWAY
HTTP_BAD_REQUEST
HTTP_CLOSE
HTTP_CONFLICT
HTTP_CONTINUE
HTTP_CREATED
HTTP_DELETE
HTTP_ENCODE_CHUNKED
HTTP_ENCODE_FIELDS
HTTP_ENCODE_LENGTH
HTTP_ENCRYPT_ALWAYS
HTTP_ENCRYPT_IF_REQUESTED
HTTP_ENCRYPT_NEVER
HTTP_ENCRYPT_REQUIRED
HTTP_ERROR
HTTP_EXPECTATION_FAILED
HTTP_FIELD_ACCEPT_LANGUAGE
HTTP_FIELD_ACCEPT_RANGES
HTTP_FIELD_AUTHORIZATION
HTTP_FIELD_CONNECTION
HTTP_FIELD_CONTENT_ENCODING
HTTP_FIELD_CONTENT_LANGUAGE
HTTP_FIELD_CONTENT_LENGTH
HTTP_FIELD_CONTENT_LOCATION
HTTP_FIELD_CONTENT_MD5
HTTP_FIELD_CONTENT_RANGE
HTTP_FIELD_CONTENT_TYPE
HTTP_FIELD_CONTENT_VERSION
HTTP_FIELD_DATE
HTTP_FIELD_HOST
HTTP_FIELD_IF_MODIFIED_SINCE
HTTP_FIELD_IF_UNMODIFIED_SINCE
HTTP_FIELD_KEEP_ALIVE
HTTP_FIELD_LAST_MODIFIED
HTTP_FIELD_LINK
HTTP_FIELD_LOCATION
HTTP_FIELD_MAX
HTTP_FIELD_RANGE
HTTP_FIELD_REFERER
HTTP_FIELD_RETRY_AFTER
HTTP_FIELD_TRANSFER_ENCODING
HTTP_FIELD_UNKNOWN
HTTP_FIELD_UPGRADE
HTTP_FIELD_USER_AGENT
HTTP_FIELD_WWW_AUTHENTICATE
HTTP_FORBIDDEN
HTTP_GATEWAY_TIMEOUT
HTTP_GET
HTTP_GET_SEND
HTTP_GONE
HTTP_HEAD
HTTP_KEEPALIVE_OFF
HTTP_KEEPALIVE_ON
HTTP_LENGTH_REQUIRED
HTTP_MAX_BUFFER
HTTP_MAX_HOST
HTTP_MAX_URI
HTTP_MAX_VALUE
HTTP_METHOD_NOT_ALLOWED
HTTP_MOVED_PERMANENTLY
HTTP_MOVED_TEMPORARILY
HTTP_MULTIPLE_CHOICES
HTTP_NOT_ACCEPTABLE
HTTP_NOT_AUTHORITATIVE
HTTP_NOT_FOUND
HTTP_NOT_IMPLEMENTED
HTTP_NOT_MODIFIED
HTTP_NOT_SUPPORTED
HTTP_NO_CONTENT
HTTP_OK
HTTP_OPTIONS
HTTP_PARTIAL_CONTENT
HTTP_PAYMENT_REQUIRED
HTTP_POST
HTTP_POST_RECV
HTTP_POST_SEND
HTTP_PRECONDITION
HTTP_PROXY_AUTHENTICATION
HTTP_PUT
HTTP_PUT_RECV
HTTP_REQUESTED_RANGE
HTTP_REQUEST_TIMEOUT
HTTP_REQUEST_TOO_LARGE
HTTP_RESET_CONTENT
HTTP_SEE_OTHER
HTTP_SERVER_ERROR
HTTP_SERVICE_UNAVAILABLE
HTTP_STATUS
HTTP_SWITCHING_PROTOCOLS
HTTP_TRACE
HTTP_UNAUTHORIZED
HTTP_UNSUPPORTED_MEDIATYPE
HTTP_UPGRADE_REQUIRED
HTTP_URI_BAD_ARGUMENTS
HTTP_URI_BAD_HOSTNAME
HTTP_URI_BAD_PORT
HTTP_URI_BAD_RESOURCE
HTTP_URI_BAD_SCHEME
HTTP_URI_BAD_URI
HTTP_URI_BAD_USERNAME
HTTP_URI_CODING_ALL
HTTP_URI_CODING_HOSTNAME
HTTP_URI_CODING_MOST
HTTP_URI_CODING_NONE
HTTP_URI_CODING_QUERY
HTTP_URI_CODING_RESOURCE
HTTP_URI_CODING_USERNAME
HTTP_URI_MISSING_RESOURCE
HTTP_URI_MISSING_SCHEME
HTTP_URI_OK
HTTP_URI_OVERFLOW
HTTP_URI_TOO_LONG
HTTP_URI_UNKNOWN_SCHEME
HTTP_USE_PROXY
HTTP_WAITING
INET6
IPP_ACTIVATE_PRINTER
IPP_ATTRIBUTE
IPP_ATTRIBUTES
IPP_ATTRIBUTES_NOT_SETTABLE
IPP_BAD_REQUEST
IPP_CANCEL_CURRENT_JOB
IPP_CANCEL_JOB
IPP_CANCEL_SUBSCRIPTION
IPP_CHARSET
IPP_COMPRESSION_ERROR
IPP_COMPRESSION_NOT_SUPPORTED
IPP_CONFLICT
IPP_CREATE_JOB
IPP_CREATE_JOB_SUBSCRIPTION
IPP_CREATE_PRINTER_SUBSCRIPTION
IPP_DATA
IPP_DEACTIVATE_PRINTER
IPP_DEVICE_ERROR
IPP_DISABLE_PRINTER
IPP_DOCUMENT_ACCESS_ERROR
IPP_DOCUMENT_FORMAT
IPP_DOCUMENT_FORMAT_ERROR
IPP_ENABLE_PRINTER
IPP_ERROR
IPP_ERROR_JOB_CANCELED
IPP_ERROR_JOB_CANCELLED
IPP_FINISHINGS_BALE
IPP_FINISHINGS_BIND
IPP_FINISHINGS_BIND_BOTTOM
IPP_FINISHINGS_BIND_LEFT
IPP_FINISHINGS_BIND_RIGHT
IPP_FINISHINGS_BIND_TOP
IPP_FINISHINGS_BOOKLET_MAKER
IPP_FINISHINGS_COVER
IPP_FINISHINGS_EDGE_STITCH
IPP_FINISHINGS_EDGE_STITCH_BOTTOM
IPP_FINISHINGS_EDGE_STITCH_LEFT
IPP_FINISHINGS_EDGE_STITCH_RIGHT
IPP_FINISHINGS_EDGE_STITCH_TOP
IPP_FINISHINGS_FOLD
IPP_FINISHINGS_JOB_OFFSET
IPP_FINISHINGS_NONE
IPP_FINISHINGS_PUNCH
IPP_FINISHINGS_SADDLE_STITCH
IPP_FINISHINGS_STAPLE
IPP_FINISHINGS_STAPLE_BOTTOM_LEFT
IPP_FINISHINGS_STAPLE_BOTTOM_RIGHT
IPP_FINISHINGS_STAPLE_DUAL_BOTTOM
IPP_FINISHINGS_STAPLE_DUAL_LEFT
IPP_FINISHINGS_STAPLE_DUAL_RIGHT
IPP_FINISHINGS_STAPLE_DUAL_TOP
IPP_FINISHINGS_STAPLE_TOP_LEFT
IPP_FINISHINGS_STAPLE_TOP_RIGHT
IPP_FINISHINGS_TRIM
IPP_FORBIDDEN
IPP_GET_JOBS
IPP_GET_JOB_ATTRIBUTES
IPP_GET_NOTIFICATIONS
IPP_GET_PRINTER_ATTRIBUTES
IPP_GET_PRINTER_SUPPORTED_VALUES
IPP_GET_PRINT_SUPPORT_FILES
IPP_GET_SUBSCRIPTIONS
IPP_GET_SUBSCRIPTION_ATTRIBUTES
IPP_GONE
IPP_HEADER
IPP_HOLD_JOB
IPP_HOLD_NEW_JOBS
IPP_IDLE
IPP_IGNORED_ALL_NOTIFICATIONS
IPP_IGNORED_ALL_SUBSCRIPTIONS
IPP_INTERNAL_ERROR
IPP_JOB_ABORTED
IPP_JOB_CANCELED
IPP_JOB_CANCELLED
IPP_JOB_COMPLETED
IPP_JOB_HELD
IPP_JOB_PENDING
IPP_JOB_PROCESSING
IPP_JOB_STOPPED
IPP_LANDSCAPE
IPP_MAX_NAME
IPP_MAX_VALUES
IPP_MULTIPLE_JOBS_NOT_SUPPORTED
IPP_NOT_ACCEPTING
IPP_NOT_AUTHENTICATED
IPP_NOT_AUTHORIZED
IPP_NOT_FOUND
IPP_NOT_POSSIBLE
IPP_OK
IPP_OK_BUT_CANCEL_SUBSCRIPTION
IPP_OK_CONFLICT
IPP_OK_EVENTS_COMPLETE
IPP_OK_IGNORED_NOTIFICATIONS
IPP_OK_IGNORED_SUBSCRIPTIONS
IPP_OK_SUBST
IPP_OK_TOO_MANY_EVENTS
IPP_OPERATION_NOT_SUPPORTED
IPP_PAUSE_PRINTER
IPP_PAUSE_PRINTER_AFTER_CURRENT_JOB
IPP_PORT
IPP_PORTRAIT
IPP_PRINTER_BUSY
IPP_PRINTER_IDLE
IPP_PRINTER_IS_DEACTIVATED
IPP_PRINTER_PROCESSING
IPP_PRINTER_STOPPED
IPP_PRINT_JOB
IPP_PRINT_SUPPORT_FILE_NOT_FOUND
IPP_PRINT_URI
IPP_PRIVATE
IPP_PROMOTE_JOB
IPP_PURGE_JOBS
IPP_QUALITY_DRAFT
IPP_QUALITY_HIGH
IPP_QUALITY_NORMAL
IPP_REDIRECTION_OTHER_SITE
IPP_RELEASE_HELD_NEW_JOBS
IPP_RELEASE_JOB
IPP_RENEW_SUBSCRIPTION
IPP_REPROCESS_JOB
IPP_REQUEST_ENTITY
IPP_REQUEST_VALUE
IPP_RESTART_JOB
IPP_RESTART_PRINTER
IPP_RESUME_JOB
IPP_RESUME_PRINTER
IPP_RES_PER_CM
IPP_RES_PER_INCH
IPP_REVERSE_LANDSCAPE
IPP_REVERSE_PORTRAIT
IPP_SCHEDULE_JOB_AFTER
IPP_SEND_DOCUMENT
IPP_SEND_NOTIFICATIONS
IPP_SEND_URI
IPP_SERVICE_UNAVAILABLE
IPP_SET_JOB_ATTRIBUTES
IPP_SET_PRINTER_ATTRIBUTES
IPP_SHUTDOWN_PRINTER
IPP_STARTUP_PRINTER
IPP_SUSPEND_CURRENT_JOB
IPP_TAG_ADMINDEFINE
IPP_TAG_BEGIN_COLLECTION
IPP_TAG_BOOLEAN
IPP_TAG_CHARSET
IPP_TAG_COPY
IPP_TAG_DATE
IPP_TAG_DEFAULT
IPP_TAG_DELETEATTR
IPP_TAG_END
IPP_TAG_END_COLLECTION
IPP_TAG_ENUM
IPP_TAG_EVENT_NOTIFICATION
IPP_TAG_INTEGER
IPP_TAG_JOB
IPP_TAG_KEYWORD
IPP_TAG_LANGUAGE
IPP_TAG_MASK
IPP_TAG_MEMBERNAME
IPP_TAG_MIMETYPE
IPP_TAG_NAME
IPP_TAG_NAMELANG
IPP_TAG_NOTSETTABLE
IPP_TAG_NOVALUE
IPP_TAG_OPERATION
IPP_TAG_PRINTER
IPP_TAG_RANGE
IPP_TAG_RESOLUTION
IPP_TAG_STRING
IPP_TAG_SUBSCRIPTION
IPP_TAG_TEXT
IPP_TAG_TEXTLANG
IPP_TAG_UNKNOWN
IPP_TAG_UNSUPPORTED_GROUP
IPP_TAG_UNSUPPORTED_VALUE
IPP_TAG_URI
IPP_TAG_URISCHEME
IPP_TAG_ZERO
IPP_TEMPORARY_ERROR
IPP_TIMEOUT
IPP_TOO_MANY_SUBSCRIPTIONS
IPP_URI_SCHEME
IPP_VALIDATE_JOB
IPP_VERSION_NOT_SUPPORTED
PPD_ALLOC_ERROR
PPD_BAD_CUSTOM_PARAM
PPD_BAD_OPEN_GROUP
PPD_BAD_OPEN_UI
PPD_BAD_ORDER_DEPENDENCY
PPD_BAD_UI_CONSTRAINTS
PPD_CONFORM_RELAXED
PPD_CONFORM_STRICT
PPD_CS_CMY
PPD_CS_CMYK
PPD_CS_GRAY
PPD_CS_N
PPD_CS_RGB
PPD_CS_RGBK
PPD_CUSTOM_CURVE
PPD_CUSTOM_INT
PPD_CUSTOM_INVCURVE
PPD_CUSTOM_PASSCODE
PPD_CUSTOM_PASSWORD
PPD_CUSTOM_POINTS
PPD_CUSTOM_REAL
PPD_CUSTOM_STRING
PPD_FILE_OPEN_ERROR
PPD_ILLEGAL_CHARACTER
PPD_ILLEGAL_MAIN_KEYWORD
PPD_ILLEGAL_OPTION_KEYWORD
PPD_ILLEGAL_TRANSLATION
PPD_ILLEGAL_WHITESPACE
PPD_INTERNAL_ERROR
PPD_LINE_TOO_LONG
PPD_MAX_LINE
PPD_MAX_NAME
PPD_MAX_TEXT
PPD_MISSING_ASTERISK
PPD_MISSING_PPDADOBE4
PPD_MISSING_VALUE
PPD_NESTED_OPEN_GROUP
PPD_NESTED_OPEN_UI
PPD_NULL_FILE
PPD_OK
PPD_ORDER_ANY
PPD_ORDER_DOCUMENT
PPD_ORDER_EXIT
PPD_ORDER_JCL
PPD_ORDER_PAGE
PPD_ORDER_PROLOG
PPD_UI_BOOLEAN
PPD_UI_PICKMANY
PPD_UI_PICKONE
PPD_VERSION
) ] );
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw(
AF_LOCAL
CUPS_ACCEPT_JOBS
CUPS_ADD_CLASS
CUPS_ADD_MODIFY_CLASS
CUPS_ADD_MODIFY_PRINTER
CUPS_ADD_PRINTER
CUPS_AUTHENTICATE_JOB
CUPS_AUTO_ENCODING
CUPS_BACKEND_AUTH_REQUIRED
CUPS_BACKEND_CANCEL
CUPS_BACKEND_FAILED
CUPS_BACKEND_HOLD
CUPS_BACKEND_OK
CUPS_BACKEND_STOP
CUPS_DATE_ANY
CUPS_DELETE_CLASS
CUPS_DELETE_PRINTER
CUPS_ENCODING_DBCS_END
CUPS_ENCODING_SBCS_END
CUPS_ENCODING_VBCS_END
CUPS_EUC_CN
CUPS_EUC_JP
CUPS_EUC_KR
CUPS_EUC_TW
CUPS_FILE_GZIP
CUPS_FILE_NONE
CUPS_GET_CLASSES
CUPS_GET_DEFAULT
CUPS_GET_DEVICES
CUPS_GET_PPDS
CUPS_GET_PRINTERS
CUPS_IMAGE_BLACK
CUPS_IMAGE_CMY
CUPS_IMAGE_CMYK
CUPS_IMAGE_RGB
CUPS_IMAGE_RGB_CMYK
CUPS_IMAGE_WHITE
CUPS_ISO8859_1
CUPS_ISO8859_10
CUPS_ISO8859_11
CUPS_ISO8859_13
CUPS_ISO8859_14
CUPS_ISO8859_15
CUPS_ISO8859_16
CUPS_ISO8859_2
CUPS_ISO8859_3
CUPS_ISO8859_4
CUPS_ISO8859_5
CUPS_ISO8859_6
CUPS_ISO8859_7
CUPS_ISO8859_8
CUPS_ISO8859_9
CUPS_KOI8_R
CUPS_KOI8_U
CUPS_MAC_ROMAN
CUPS_MAX_USTRING
CUPS_MOVE_JOB
CUPS_PRINTER_AUTHENTICATED
CUPS_PRINTER_BIND
CUPS_PRINTER_BW
CUPS_PRINTER_CLASS
CUPS_PRINTER_COLLATE
CUPS_PRINTER_COLOR
CUPS_PRINTER_COMMANDS
CUPS_PRINTER_COPIES
CUPS_PRINTER_COVER
CUPS_PRINTER_DEFAULT
CUPS_PRINTER_DELETE
CUPS_PRINTER_DUPLEX
CUPS_PRINTER_FAX
CUPS_PRINTER_IMPLICIT
CUPS_PRINTER_LARGE
CUPS_PRINTER_LOCAL
CUPS_PRINTER_MEDIUM
CUPS_PRINTER_NOT_SHARED
CUPS_PRINTER_OPTIONS
CUPS_PRINTER_PUNCH
CUPS_PRINTER_REJECTING
CUPS_PRINTER_REMOTE
CUPS_PRINTER_SMALL
CUPS_PRINTER_SORT
CUPS_PRINTER_STAPLE
CUPS_PRINTER_VARIABLE
CUPS_REJECT_JOBS
CUPS_SET_DEFAULT
CUPS_US_ASCII
CUPS_UTF8
CUPS_VERSION
CUPS_VERSION_MAJOR
CUPS_VERSION_MINOR
CUPS_VERSION_PATCH
CUPS_WINDOWS_1250
CUPS_WINDOWS_1251
CUPS_WINDOWS_1252
CUPS_WINDOWS_1253
CUPS_WINDOWS_1254
CUPS_WINDOWS_1255
CUPS_WINDOWS_1256
CUPS_WINDOWS_1257
CUPS_WINDOWS_1258
CUPS_WINDOWS_1361
CUPS_WINDOWS_874
CUPS_WINDOWS_932
CUPS_WINDOWS_936
CUPS_WINDOWS_949
CUPS_WINDOWS_950
HTTP_0_9
HTTP_1_0
HTTP_1_1
HTTP_ACCEPTED
HTTP_AUTH_BASIC
HTTP_AUTH_MD5
HTTP_AUTH_MD5_INT
HTTP_AUTH_MD5_SESS
HTTP_AUTH_MD5_SESS_INT
HTTP_AUTH_NONE
HTTP_BAD_GATEWAY
HTTP_BAD_REQUEST
HTTP_CLOSE
HTTP_CONFLICT
HTTP_CONTINUE
HTTP_CREATED
HTTP_DELETE
HTTP_ENCODE_CHUNKED
HTTP_ENCODE_FIELDS
HTTP_ENCODE_LENGTH
HTTP_ENCRYPT_ALWAYS
HTTP_ENCRYPT_IF_REQUESTED
HTTP_ENCRYPT_NEVER
HTTP_ENCRYPT_REQUIRED
HTTP_ERROR
HTTP_EXPECTATION_FAILED
HTTP_FIELD_ACCEPT_LANGUAGE
HTTP_FIELD_ACCEPT_RANGES
HTTP_FIELD_AUTHORIZATION
HTTP_FIELD_CONNECTION
HTTP_FIELD_CONTENT_ENCODING
HTTP_FIELD_CONTENT_LANGUAGE
HTTP_FIELD_CONTENT_LENGTH
HTTP_FIELD_CONTENT_LOCATION
HTTP_FIELD_CONTENT_MD5
HTTP_FIELD_CONTENT_RANGE
HTTP_FIELD_CONTENT_TYPE
HTTP_FIELD_CONTENT_VERSION
HTTP_FIELD_DATE
HTTP_FIELD_HOST
HTTP_FIELD_IF_MODIFIED_SINCE
HTTP_FIELD_IF_UNMODIFIED_SINCE
HTTP_FIELD_KEEP_ALIVE
HTTP_FIELD_LAST_MODIFIED
HTTP_FIELD_LINK
HTTP_FIELD_LOCATION
HTTP_FIELD_MAX
HTTP_FIELD_RANGE
HTTP_FIELD_REFERER
HTTP_FIELD_RETRY_AFTER
HTTP_FIELD_TRANSFER_ENCODING
HTTP_FIELD_UNKNOWN
HTTP_FIELD_UPGRADE
HTTP_FIELD_USER_AGENT
HTTP_FIELD_WWW_AUTHENTICATE
HTTP_FORBIDDEN
HTTP_GATEWAY_TIMEOUT
HTTP_GET
HTTP_GET_SEND
HTTP_GONE
HTTP_HEAD
HTTP_KEEPALIVE_OFF
HTTP_KEEPALIVE_ON
HTTP_LENGTH_REQUIRED
HTTP_MAX_BUFFER
HTTP_MAX_HOST
HTTP_MAX_URI
HTTP_MAX_VALUE
HTTP_METHOD_NOT_ALLOWED
HTTP_MOVED_PERMANENTLY
HTTP_MOVED_TEMPORARILY
HTTP_MULTIPLE_CHOICES
HTTP_NOT_ACCEPTABLE
HTTP_NOT_AUTHORITATIVE
HTTP_NOT_FOUND
HTTP_NOT_IMPLEMENTED
HTTP_NOT_MODIFIED
HTTP_NOT_SUPPORTED
HTTP_NO_CONTENT
HTTP_OK
HTTP_OPTIONS
HTTP_PARTIAL_CONTENT
HTTP_PAYMENT_REQUIRED
HTTP_POST
HTTP_POST_RECV
HTTP_POST_SEND
HTTP_PRECONDITION
HTTP_PROXY_AUTHENTICATION
HTTP_PUT
HTTP_PUT_RECV
HTTP_REQUESTED_RANGE
HTTP_REQUEST_TIMEOUT
HTTP_REQUEST_TOO_LARGE
HTTP_RESET_CONTENT
HTTP_SEE_OTHER
HTTP_SERVER_ERROR
HTTP_SERVICE_UNAVAILABLE
HTTP_STATUS
HTTP_SWITCHING_PROTOCOLS
HTTP_TRACE
HTTP_UNAUTHORIZED
HTTP_UNSUPPORTED_MEDIATYPE
HTTP_UPGRADE_REQUIRED
HTTP_URI_BAD_ARGUMENTS
HTTP_URI_BAD_HOSTNAME
HTTP_URI_BAD_PORT
HTTP_URI_BAD_RESOURCE
HTTP_URI_BAD_SCHEME
HTTP_URI_BAD_URI
HTTP_URI_BAD_USERNAME
HTTP_URI_CODING_ALL
HTTP_URI_CODING_HOSTNAME
HTTP_URI_CODING_MOST
HTTP_URI_CODING_NONE
HTTP_URI_CODING_QUERY
HTTP_URI_CODING_RESOURCE
HTTP_URI_CODING_USERNAME
HTTP_URI_MISSING_RESOURCE
HTTP_URI_MISSING_SCHEME
HTTP_URI_OK
HTTP_URI_OVERFLOW
HTTP_URI_TOO_LONG
HTTP_URI_UNKNOWN_SCHEME
HTTP_USE_PROXY
HTTP_WAITING
INET6
IPP_ACTIVATE_PRINTER
IPP_ATTRIBUTE
IPP_ATTRIBUTES
IPP_ATTRIBUTES_NOT_SETTABLE
IPP_BAD_REQUEST
IPP_CANCEL_CURRENT_JOB
IPP_CANCEL_JOB
IPP_CANCEL_SUBSCRIPTION
IPP_CHARSET
IPP_COMPRESSION_ERROR
IPP_COMPRESSION_NOT_SUPPORTED
IPP_CONFLICT
IPP_CREATE_JOB
IPP_CREATE_JOB_SUBSCRIPTION
IPP_CREATE_PRINTER_SUBSCRIPTION
IPP_DATA
IPP_DEACTIVATE_PRINTER
IPP_DEVICE_ERROR
IPP_DISABLE_PRINTER
IPP_DOCUMENT_ACCESS_ERROR
IPP_DOCUMENT_FORMAT
IPP_DOCUMENT_FORMAT_ERROR
IPP_ENABLE_PRINTER
IPP_ERROR
IPP_ERROR_JOB_CANCELED
IPP_ERROR_JOB_CANCELLED
IPP_FINISHINGS_BALE
IPP_FINISHINGS_BIND
IPP_FINISHINGS_BIND_BOTTOM
IPP_FINISHINGS_BIND_LEFT
IPP_FINISHINGS_BIND_RIGHT
IPP_FINISHINGS_BIND_TOP
IPP_FINISHINGS_BOOKLET_MAKER
IPP_FINISHINGS_COVER
IPP_FINISHINGS_EDGE_STITCH
IPP_FINISHINGS_EDGE_STITCH_BOTTOM
IPP_FINISHINGS_EDGE_STITCH_LEFT
IPP_FINISHINGS_EDGE_STITCH_RIGHT
IPP_FINISHINGS_EDGE_STITCH_TOP
IPP_FINISHINGS_FOLD
IPP_FINISHINGS_JOB_OFFSET
IPP_FINISHINGS_NONE
IPP_FINISHINGS_PUNCH
IPP_FINISHINGS_SADDLE_STITCH
IPP_FINISHINGS_STAPLE
IPP_FINISHINGS_STAPLE_BOTTOM_LEFT
IPP_FINISHINGS_STAPLE_BOTTOM_RIGHT
IPP_FINISHINGS_STAPLE_DUAL_BOTTOM
IPP_FINISHINGS_STAPLE_DUAL_LEFT
IPP_FINISHINGS_STAPLE_DUAL_RIGHT
IPP_FINISHINGS_STAPLE_DUAL_TOP
IPP_FINISHINGS_STAPLE_TOP_LEFT
IPP_FINISHINGS_STAPLE_TOP_RIGHT
IPP_FINISHINGS_TRIM
IPP_FORBIDDEN
IPP_GET_JOBS
IPP_GET_JOB_ATTRIBUTES
IPP_GET_NOTIFICATIONS
IPP_GET_PRINTER_ATTRIBUTES
IPP_GET_PRINTER_SUPPORTED_VALUES
IPP_GET_PRINT_SUPPORT_FILES
IPP_GET_SUBSCRIPTIONS
IPP_GET_SUBSCRIPTION_ATTRIBUTES
IPP_GONE
IPP_HEADER
IPP_HOLD_JOB
IPP_HOLD_NEW_JOBS
IPP_IDLE
IPP_IGNORED_ALL_NOTIFICATIONS
IPP_IGNORED_ALL_SUBSCRIPTIONS
IPP_INTERNAL_ERROR
IPP_JOB_ABORTED
IPP_JOB_CANCELED
IPP_JOB_CANCELLED
IPP_JOB_COMPLETED
IPP_JOB_HELD
IPP_JOB_PENDING
IPP_JOB_PROCESSING
IPP_JOB_STOPPED
IPP_LANDSCAPE
IPP_MAX_NAME
IPP_MAX_VALUES
IPP_MULTIPLE_JOBS_NOT_SUPPORTED
IPP_NOT_ACCEPTING
IPP_NOT_AUTHENTICATED
IPP_NOT_AUTHORIZED
IPP_NOT_FOUND
IPP_NOT_POSSIBLE
IPP_OK
IPP_OK_BUT_CANCEL_SUBSCRIPTION
IPP_OK_CONFLICT
IPP_OK_EVENTS_COMPLETE
IPP_OK_IGNORED_NOTIFICATIONS
IPP_OK_IGNORED_SUBSCRIPTIONS
IPP_OK_SUBST
IPP_OK_TOO_MANY_EVENTS
IPP_OPERATION_NOT_SUPPORTED
IPP_PAUSE_PRINTER
IPP_PAUSE_PRINTER_AFTER_CURRENT_JOB
IPP_PORT
IPP_PORTRAIT
IPP_PRINTER_BUSY
IPP_PRINTER_IDLE
IPP_PRINTER_IS_DEACTIVATED
IPP_PRINTER_PROCESSING
IPP_PRINTER_STOPPED
IPP_PRINT_JOB
IPP_PRINT_SUPPORT_FILE_NOT_FOUND
IPP_PRINT_URI
IPP_PRIVATE
IPP_PROMOTE_JOB
IPP_PURGE_JOBS
IPP_QUALITY_DRAFT
IPP_QUALITY_HIGH
IPP_QUALITY_NORMAL
IPP_REDIRECTION_OTHER_SITE
IPP_RELEASE_HELD_NEW_JOBS
IPP_RELEASE_JOB
IPP_RENEW_SUBSCRIPTION
IPP_REPROCESS_JOB
IPP_REQUEST_ENTITY
IPP_REQUEST_VALUE
IPP_RESTART_JOB
IPP_RESTART_PRINTER
IPP_RESUME_JOB
IPP_RESUME_PRINTER
IPP_RES_PER_CM
IPP_RES_PER_INCH
IPP_REVERSE_LANDSCAPE
IPP_REVERSE_PORTRAIT
IPP_SCHEDULE_JOB_AFTER
IPP_SEND_DOCUMENT
IPP_SEND_NOTIFICATIONS
IPP_SEND_URI
IPP_SERVICE_UNAVAILABLE
IPP_SET_JOB_ATTRIBUTES
IPP_SET_PRINTER_ATTRIBUTES
IPP_SHUTDOWN_PRINTER
IPP_STARTUP_PRINTER
IPP_SUSPEND_CURRENT_JOB
IPP_TAG_ADMINDEFINE
IPP_TAG_BEGIN_COLLECTION
IPP_TAG_BOOLEAN
IPP_TAG_CHARSET
IPP_TAG_COPY
IPP_TAG_DATE
IPP_TAG_DEFAULT
IPP_TAG_DELETEATTR
IPP_TAG_END
IPP_TAG_END_COLLECTION
IPP_TAG_ENUM
IPP_TAG_EVENT_NOTIFICATION
IPP_TAG_INTEGER
IPP_TAG_JOB
IPP_TAG_KEYWORD
IPP_TAG_LANGUAGE
IPP_TAG_MASK
IPP_TAG_MEMBERNAME
IPP_TAG_MIMETYPE
IPP_TAG_NAME
IPP_TAG_NAMELANG
IPP_TAG_NOTSETTABLE
IPP_TAG_NOVALUE
IPP_TAG_OPERATION
IPP_TAG_PRINTER
IPP_TAG_RANGE
IPP_TAG_RESOLUTION
IPP_TAG_STRING
IPP_TAG_SUBSCRIPTION
IPP_TAG_TEXT
IPP_TAG_TEXTLANG
IPP_TAG_UNKNOWN
IPP_TAG_UNSUPPORTED_GROUP
IPP_TAG_UNSUPPORTED_VALUE
IPP_TAG_URI
IPP_TAG_URISCHEME
IPP_TAG_ZERO
IPP_TEMPORARY_ERROR
IPP_TIMEOUT
IPP_TOO_MANY_SUBSCRIPTIONS
IPP_URI_SCHEME
IPP_VALIDATE_JOB
IPP_VERSION_NOT_SUPPORTED
PPD_ALLOC_ERROR
PPD_BAD_CUSTOM_PARAM
PPD_BAD_OPEN_GROUP
PPD_BAD_OPEN_UI
PPD_BAD_ORDER_DEPENDENCY
PPD_BAD_UI_CONSTRAINTS
PPD_CONFORM_RELAXED
PPD_CONFORM_STRICT
PPD_CS_CMY
PPD_CS_CMYK
PPD_CS_GRAY
PPD_CS_N
PPD_CS_RGB
PPD_CS_RGBK
PPD_CUSTOM_CURVE
PPD_CUSTOM_INT
PPD_CUSTOM_INVCURVE
PPD_CUSTOM_PASSCODE
PPD_CUSTOM_PASSWORD
PPD_CUSTOM_POINTS
PPD_CUSTOM_REAL
PPD_CUSTOM_STRING
PPD_FILE_OPEN_ERROR
PPD_ILLEGAL_CHARACTER
PPD_ILLEGAL_MAIN_KEYWORD
PPD_ILLEGAL_OPTION_KEYWORD
PPD_ILLEGAL_TRANSLATION
PPD_ILLEGAL_WHITESPACE
PPD_INTERNAL_ERROR
PPD_LINE_TOO_LONG
PPD_MAX_LINE
PPD_MAX_NAME
PPD_MAX_TEXT
PPD_MISSING_ASTERISK
PPD_MISSING_PPDADOBE4
PPD_MISSING_VALUE
PPD_NESTED_OPEN_GROUP
PPD_NESTED_OPEN_UI
PPD_NULL_FILE
PPD_OK
PPD_ORDER_ANY
PPD_ORDER_DOCUMENT
PPD_ORDER_EXIT
PPD_ORDER_JCL
PPD_ORDER_PAGE
PPD_ORDER_PROLOG
PPD_UI_BOOLEAN
PPD_UI_PICKMANY
PPD_UI_PICKONE
PPD_VERSION
);
our $VERSION = '0.61';
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
# XS function.
my $constname;
our $AUTOLOAD;
($constname = $AUTOLOAD) =~ s/.*:://;
croak "&Net::CUPS::IPP::constant not defined" if $constname eq 'constant';
my ($error, $val) = constant($constname);
if ($error) { croak $error; }
{
no strict 'refs';
# Fixed between 5.005_53 and 5.005_61
#XXX if ($] >= 5.00561) {
#XXX *$AUTOLOAD = sub () { $val };
#XXX }
#XXX else {
*$AUTOLOAD = sub { $val };
#XXX }
}
goto &$AUTOLOAD;
}
#require XSLoader;
#XSLoader::load('Net::CUPS', $VERSION);
##==================================================================##
## Constructors ##
##==================================================================##
##----------------------------------------------##
## new ##
##----------------------------------------------##
sub new
{
my( $self, $request ) = @_;
if( defined( $request ) && ( $request ne "" ) )
{
return( NETCUPS_newIPPRequest( $request ) );
}
else
{
return( NETCUPS_newIPP() );
}
}
##----------------------------------------------##
## DESTROY ##
##----------------------------------------------##
sub DESTROY
{
my $self = shift;
NETCUPS_freeIPP( $self );
return;
}
##==================================================================##
## Methods ##
##==================================================================##
##----------------------------------------------##
## addString ##
##----------------------------------------------##
sub addString
{
my( $self, $group, $type, $name, $charset, $value ) = @_;
$charset = "" if( !defined( $charset ) );
NETCUPS_addString( $self, $group, $type, $name, $charset, $value );
return;
}
##----------------------------------------------##
## getAttributes ##
##----------------------------------------------##
sub getAttributes
{
my $self = shift;
return( NETCUPS_getAttributes( $self ) );
}
##----------------------------------------------##
## getAttributeValue ##
##----------------------------------------------##
sub getAttributeValue
{
my( $self, $name ) = @_;
$name = lc( $name );
return( NETCUPS_getAttributeValue( $self, $name ) );
}
##----------------------------------------------##
## getSize ##
##----------------------------------------------##
sub getSize
{
my $self = shift;
return( NETCUPS_getSize( $self ) );
}
##----------------------------------------------##
## getPort ##
##----------------------------------------------##
sub getPort
{
my $self = shift;
return( NETCUPS_getPort() );
}
##----------------------------------------------##
## setPort ##
##----------------------------------------------##
sub setPort
{
my( $self, $port ) = @_;
return( NETCUPS_setPort( $port ) );
}
##==================================================================##
## End of Code ##
##==================================================================##
1;
##==================================================================##
## Plain Old Documentation (POD) ##
##==================================================================##
__END__
=head1 NAME
Net::CUPS::IPP - Internet Printing Protocol Object
=head1 SYNOPSIS
use Net::CUPS::IPP;
my $ipp = Net::CUPS::IPP->new( IPP_GET_JOB_ATTRIBUTE );
my $size = $ipp->getSize();
$ipp->addString( $group, $type, $name, $charset, $value );
=head1 DESCRIPTION
Net::CUPS is an object oriented interface to the Common Unix Printing System.
Net::CUPS::IPP is an abstraction of the IPP implementation in
CUPS.
=head1 METHODS
=over 4
=item B<addString>
$ipp->addString( $group, $type, $name, $charset, $value );
Implementation of the CUPS C function "ippAddString". Please refer the
IPP documentation for its usage.
=item B<getAttributes>
my @attributes = $ipp->getAttributes();
This method will return an array of all the attributes in an IPP
request.
=item B<getAttributeValue>
my $value = $ipp->getAttributeValue( $name );
Method to return the associated value with method.
=item B<getSize>
my $size = $ipp->getSize();
Utility to function to acquire the size of the IPP request. This
is mainly useful for debugging.
=back
=head1 SEE ALSO
L<Net::CUPS>, L<Net::CUPS::PPD>, L<Net::CUPS::Destination>
=head1 SUPPORT
Net::CUPS is currently maintained by Stefan Seifert <NINE@cpan.org>.
The Github repository for this project is at
L<https://github.com/niner/perl-Net-CUPS>. Pull requests are welcome.
=head1 AUTHOR
Dracken Technology, Inc. (http://www.dracken.com/)
=head1 COPYRIGHT AND LICENSE
Copyright (c) 2003-2005 David Hageman
Copyright (c) 2006-2009 Dracken Technology, Inc.
All rights reserved.
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.8 or,
at your option, any later version of Perl 5 you may have available.
CUPS, the Common UNIX Printing System, the CUPS logo, and ESP Print Pro are the trademark property of Easy Software Products.
=cut