/*
* "$Id: lpq.c 7460 2008-04-16 02:19:54Z mike $"
*
- * "lpq" command for the Common UNIX Printing System (CUPS).
+ * "lpq" command for CUPS.
*
- * Copyright 2007-2009 by Apple Inc.
+ * Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
* Include necessary headers...
*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <cups/string.h>
-#include <cups/cups.h>
-#include <cups/i18n.h>
-#include <cups/debug.h>
+#include <cups/cups-private.h>
/*
if (http)
httpEncryption(http, HTTP_ENCRYPT_REQUIRED);
#else
- _cupsLangPrintf(stderr,
- _("%s: Sorry, no encryption support compiled in\n"),
+ _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."),
argv[0]);
#endif /* HAVE_SSL */
break;
{
_cupsLangPrintf(stderr,
_("%s: Error - expected username after "
- "\'-U\' option!n"),
- argv[0]);
+ "\"-U\" option."), argv[0]);
return (1);
}
cupsSetUser(argv[i]);
}
break;
-
+
case 'P' : /* Printer */
if (argv[i][2])
dest = argv[i] + 2;
{
httpClose(http);
cupsFreeDests(num_dests, dests);
-
+
usage();
}
{
if (instance)
_cupsLangPrintf(stderr,
- _("%s: Error - unknown destination \"%s/%s\"\n"),
+ _("%s: Error - unknown destination \"%s/%s\"."),
argv[0], dest, instance);
else
- _cupsLangPrintf(stderr,
- _("%s: Unknown destination \"%s\"\n"),
+ _cupsLangPrintf(stderr, _("%s: Unknown destination \"%s\"."),
argv[0], dest);
return (1);
{
_cupsLangPrintf(stderr,
_("%s: Error - expected hostname after "
- "\'-h\' option\n"),
- argv[0]);
+ "\"-h\" option."), argv[0]);
return (1);
}
else
if (dest && !cupsGetDest(dest, NULL, num_dests, dests))
_cupsLangPrintf(stderr,
- _("%s: error - %s environment variable names "
- "non-existent destination \"%s\"\n"),
- argv[0], val, dest);
+ _("%s: Error - %s environment variable names "
+ "non-existent destination \"%s\"."), argv[0], val,
+ dest);
else
_cupsLangPrintf(stderr,
- _("%s: error - no default destination available.\n"),
+ _("%s: Error - no default destination available."),
argv[0]);
httpClose(http);
cupsFreeDests(num_dests, dests);
if (http == NULL)
{
- _cupsLangPrintf(stderr, _("%s: Unable to connect to server\n"), command);
+ _cupsLangPrintf(stderr, _("%s: Unable to connect to server."), command);
exit(1);
}
}
char resource[1024]; /* Resource string */
char rankstr[255]; /* Rank string */
char namestr[1024]; /* Job name string */
- static const char *ranks[10] = /* Ranking strings */
+ static const char * const jobattrs[] =/* Job attributes we want to see */
+ {
+ "copies",
+ "job-id",
+ "job-k-octets",
+ "job-name",
+ "job-originating-user-name",
+ "job-printer-uri",
+ "job-priority",
+ "job-state"
+ };
+ static const char * const ranks[10] = /* Ranking strings */
{
"th",
"st",
* attributes-charset
* attributes-natural-language
* job-uri or printer-uri
+ * requested-attributes
*/
request = ippNewRequest(id ? IPP_GET_JOB_ATTRIBUTES : IPP_GET_JOBS);
ippAddBoolean(request, IPP_TAG_OPERATION, "my-jobs", 1);
}
+ ippAddStrings(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD,
+ "requested-attributes",
+ (int)(sizeof(jobattrs) / sizeof(jobattrs[0])), NULL, jobattrs);
+
/*
* Do the request and get back a response...
*/
{
if (response->request.status.status_code > IPP_OK_CONFLICT)
{
- _cupsLangPrintf(stderr, "%s: %s\n", command, cupsLastErrorString());
+ _cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
ippDelete(response);
return (0);
}
if (!longstatus && jobcount == 0)
#ifdef __osf__
_cupsLangPuts(stdout,
+ /* TRANSLATORS: Pri is job priority. */
_("Rank Owner Pri Job Files"
- " Total Size\n"));
+ " Total Size"));
#else
_cupsLangPuts(stdout,
_("Rank Owner Job File(s)"
- " Total Size\n"));
+ " Total Size"));
#endif /* __osf__ */
jobcount ++;
else
strlcpy(namestr, jobname, sizeof(namestr));
- _cupsLangPrintf(stdout, _("%s: %-33.33s [job %d localhost]\n"),
+ _cupsLangPrintf(stdout, _("%s: %-33.33s [job %d localhost]"),
jobuser, rankstr, jobid);
- _cupsLangPrintf(stdout, _(" %-39.39s %.0f bytes\n"),
+ _cupsLangPrintf(stdout, _(" %-39.39s %.0f bytes"),
namestr, 1024.0 * jobsize);
}
else
#ifdef __osf__
_cupsLangPrintf(stdout,
- _("%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"),
+ _("%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"),
rankstr, jobuser, jobpriority, jobid, jobname,
1024.0 * jobsize);
#else
_cupsLangPrintf(stdout,
- _("%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"),
+ _("%-7s %-7.7s %-7d %-31.31s %.0f bytes"),
rankstr, jobuser, jobid, jobname, 1024.0 * jobsize);
#endif /* __osf */
}
else
{
- _cupsLangPrintf(stderr, "%s: %s\n", command, cupsLastErrorString());
+ _cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
return (0);
}
if (jobcount == 0)
- _cupsLangPuts(stdout, _("no entries\n"));
+ _cupsLangPuts(stdout, _("no entries"));
return (jobcount);
}
{
if (response->request.status.status_code > IPP_OK_CONFLICT)
{
- _cupsLangPrintf(stderr, "%s: %s\n", command, cupsLastErrorString());
+ _cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
ippDelete(response);
return;
}
switch (state)
{
case IPP_PRINTER_IDLE :
- _cupsLangPrintf(stdout, _("%s is ready\n"), dest);
+ _cupsLangPrintf(stdout, _("%s is ready"), dest);
break;
case IPP_PRINTER_PROCESSING :
- _cupsLangPrintf(stdout, _("%s is ready and printing\n"),
+ _cupsLangPrintf(stdout, _("%s is ready and printing"),
dest);
break;
case IPP_PRINTER_STOPPED :
- _cupsLangPrintf(stdout, _("%s is not ready\n"), dest);
+ _cupsLangPrintf(stdout, _("%s is not ready"), dest);
break;
}
ippDelete(response);
}
else
- _cupsLangPrintf(stderr, "%s: %s\n", command, cupsLastErrorString());
+ _cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
}
{
_cupsLangPuts(stderr,
_("Usage: lpq [-P dest] [-U username] [-h hostname[:port]] "
- "[-l] [+interval]\n"));
+ "[-l] [+interval]"));
exit(1);
}