summaryrefslogtreecommitdiff
path: root/usr/src/cmd/print/lpstat/bsd-functions.c
diff options
context:
space:
mode:
authorjacobs <none@none>2006-06-22 13:28:31 -0700
committerjacobs <none@none>2006-06-22 13:28:31 -0700
commit355b4669e025ff377602b6fc7caaf30dbc218371 (patch)
tree29a740456e8d09f935e18068ce72814285fafeec /usr/src/cmd/print/lpstat/bsd-functions.c
parent5d0bc3ededb82d77f7c33d8f58e517a837ba5140 (diff)
downloadillumos-joyent-355b4669e025ff377602b6fc7caaf30dbc218371.tar.gz
LSARC/2003/547 PAPI Print Commands
LSARC/2006/172 PAPI Print Commands Packaging Breakout 4144591 lpstat -d reports *process* default printer as *system* default printer 4299193 lp -cd <queue> <file> causes multiple -d options errors 4327963 RFE cancel on local queue should not require in.lpd 4331220 lpmove doesn't work on remote print queues 4470602 Customer wants to increase print limit of 52 files to 300 4949866 lpstat shows FAILED printers due to expanded status message 4994469 lpadmin doesn't add filter definitions for printers 6302778 RUNPATH & RPATH errors in SUNWipplu package 6314007 lpstat should report paper type list supported by a printer 6317991 lprm -Pprintername - command results in aSegmentation fault 6338002 lpsched support for PAPI is incomplete 6346505 print commands should use PAPI for service interaction (LSARC/2003/547) 6364267 psm-lpsched has replicated code 6389273 RUNPATH and RPATH failures in SUNWippcore --HG-- rename : usr/src/cmd/lp/cmd/cancel.c => deleted_files/usr/src/cmd/lp/cmd/cancel.c rename : usr/src/cmd/lp/cmd/comb.c => deleted_files/usr/src/cmd/lp/cmd/comb.c rename : usr/src/cmd/lp/cmd/lp.c => deleted_files/usr/src/cmd/lp/cmd/lp.c rename : usr/src/cmd/lp/cmd/lpc/Makefile => deleted_files/usr/src/cmd/lp/cmd/lpc/Makefile rename : usr/src/cmd/lp/cmd/lpc/cmds.c => deleted_files/usr/src/cmd/lp/cmd/lpc/cmds.c rename : usr/src/cmd/lp/cmd/lpc/cmdtab.c => deleted_files/usr/src/cmd/lp/cmd/lpc/cmdtab.c rename : usr/src/cmd/lp/cmd/lpc/fatalmsg.c => deleted_files/usr/src/cmd/lp/cmd/lpc/fatalmsg.c rename : usr/src/cmd/lp/cmd/lpc/global.c => deleted_files/usr/src/cmd/lp/cmd/lpc/global.c rename : usr/src/cmd/lp/cmd/lpc/lpc.c => deleted_files/usr/src/cmd/lp/cmd/lpc/lpc.c rename : usr/src/cmd/lp/cmd/lpc/lpc.h => deleted_files/usr/src/cmd/lp/cmd/lpc/lpc.h rename : usr/src/cmd/lp/cmd/lpc/process.c => deleted_files/usr/src/cmd/lp/cmd/lpc/process.c rename : usr/src/cmd/lp/cmd/lpc/sndrcv.c => deleted_files/usr/src/cmd/lp/cmd/lpc/sndrcv.c rename : usr/src/cmd/lp/cmd/lpc/topq.c => deleted_files/usr/src/cmd/lp/cmd/lpc/topq.c rename : usr/src/cmd/lp/cmd/lpmove.c => deleted_files/usr/src/cmd/lp/cmd/lpmove.c rename : usr/src/cmd/lp/cmd/lpstat/Makefile => deleted_files/usr/src/cmd/lp/cmd/lpstat/Makefile rename : usr/src/cmd/lp/cmd/lpstat/accept.c => deleted_files/usr/src/cmd/lp/cmd/lpstat/accept.c rename : usr/src/cmd/lp/cmd/lpstat/add_mounted.c => deleted_files/usr/src/cmd/lp/cmd/lpstat/add_mounted.c rename : usr/src/cmd/lp/cmd/lpstat/charset.c => deleted_files/usr/src/cmd/lp/cmd/lpstat/charset.c rename : usr/src/cmd/lp/cmd/lpstat/class.c => deleted_files/usr/src/cmd/lp/cmd/lpstat/class.c rename : usr/src/cmd/lp/cmd/lpstat/device.c => deleted_files/usr/src/cmd/lp/cmd/lpstat/device.c rename : usr/src/cmd/lp/cmd/lpstat/done.c => deleted_files/usr/src/cmd/lp/cmd/lpstat/done.c rename : usr/src/cmd/lp/cmd/lpstat/form.c => deleted_files/usr/src/cmd/lp/cmd/lpstat/form.c rename : usr/src/cmd/lp/cmd/lpstat/lpstat.c => deleted_files/usr/src/cmd/lp/cmd/lpstat/lpstat.c rename : usr/src/cmd/lp/cmd/lpstat/lpstat.h => deleted_files/usr/src/cmd/lp/cmd/lpstat/lpstat.h rename : usr/src/cmd/lp/cmd/lpstat/output.c => deleted_files/usr/src/cmd/lp/cmd/lpstat/output.c rename : usr/src/cmd/lp/cmd/lpstat/parse.c => deleted_files/usr/src/cmd/lp/cmd/lpstat/parse.c rename : usr/src/cmd/lp/cmd/lpstat/printer.c => deleted_files/usr/src/cmd/lp/cmd/lpstat/printer.c rename : usr/src/cmd/lp/cmd/lpstat/request.c => deleted_files/usr/src/cmd/lp/cmd/lpstat/request.c rename : usr/src/cmd/lp/cmd/lpstat/send_message.c => deleted_files/usr/src/cmd/lp/cmd/lpstat/send_message.c rename : usr/src/cmd/lp/lib/papi/attribute.c => deleted_files/usr/src/cmd/lp/lib/papi/attribute.c rename : usr/src/cmd/lp/lib/papi/list.c => deleted_files/usr/src/cmd/lp/lib/papi/list.c rename : usr/src/cmd/lp/lib/papi/papi.h => deleted_files/usr/src/cmd/lp/lib/papi/papi.h rename : usr/src/cmd/lp/lib/papi/status.c => deleted_files/usr/src/cmd/lp/lib/papi/status.c rename : usr/src/cmd/print/cancel/Makefile => deleted_files/usr/src/cmd/print/cancel/Makefile rename : usr/src/cmd/print/cancel/cancel.c => deleted_files/usr/src/cmd/print/cancel/cancel.c rename : usr/src/cmd/print/cancel/cancel_list.c => deleted_files/usr/src/cmd/print/cancel/cancel_list.c rename : usr/src/cmd/print/cancel/cancel_list.h => deleted_files/usr/src/cmd/print/cancel/cancel_list.h rename : usr/src/cmd/print/lp/Makefile => deleted_files/usr/src/cmd/print/lp/Makefile rename : usr/src/cmd/print/lpmove/Makefile => deleted_files/usr/src/cmd/print/lpmove/Makefile rename : usr/src/cmd/print/lpmove/lpmove.c => deleted_files/usr/src/cmd/print/lpmove/lpmove.c rename : usr/src/cmd/print/lpstat/Makefile => deleted_files/usr/src/cmd/print/lpstat/Makefile rename : usr/src/cmd/print/lpstat/bsd-functions.c => deleted_files/usr/src/cmd/print/lpstat/bsd-functions.c rename : usr/src/cmd/print/lpstat/bsd-functions.h => deleted_files/usr/src/cmd/print/lpstat/bsd-functions.h rename : usr/src/cmd/print/lpstat/lpstat.c => deleted_files/usr/src/cmd/print/lpstat/lpstat.c rename : usr/src/cmd/print/lpstat/parse.h => deleted_files/usr/src/cmd/print/lpstat/parse.h rename : usr/src/cmd/print/lpstat/parse_bsd.c => deleted_files/usr/src/cmd/print/lpstat/parse_bsd.c rename : usr/src/cmd/print/lpstat/sysv-functions.c => deleted_files/usr/src/cmd/print/lpstat/sysv-functions.c rename : usr/src/cmd/print/lpstat/sysv-functions.h => deleted_files/usr/src/cmd/print/lpstat/sysv-functions.h rename : usr/src/cmd/print/scripts/accept => deleted_files/usr/src/cmd/print/scripts/accept rename : usr/src/cmd/lp/lib/papi/mapfile-vers => usr/src/cmd/lp/lib/papi/mapfile rename : usr/src/cmd/print/lp/cleanup.xml => usr/src/cmd/print/gateway/cleanup.xml rename : usr/src/cmd/print/lp/print-cleanup => usr/src/cmd/print/gateway/print-cleanup rename : usr/src/cmd/print/lp/lp.c => usr/src/cmd/print/gateway/printd.c rename : usr/src/lib/print/job.c => usr/src/lib/print/libprint/common/job.c rename : usr/src/lib/print/job.h => usr/src/lib/print/libprint/common/job.h rename : usr/src/lib/print/list.c => usr/src/lib/print/libprint/common/list.c rename : usr/src/lib/print/list.h => usr/src/lib/print/libprint/common/list.h rename : usr/src/lib/print/llib-lprint => usr/src/lib/print/libprint/common/llib-lprint rename : usr/src/lib/print/mapfile-vers => usr/src/lib/print/libprint/common/mapfile-vers rename : usr/src/lib/print/misc.c => usr/src/lib/print/libprint/common/misc.c rename : usr/src/lib/print/misc.h => usr/src/lib/print/libprint/common/misc.h rename : usr/src/lib/print/network.c => usr/src/lib/print/libprint/common/network.c rename : usr/src/lib/print/network.h => usr/src/lib/print/libprint/common/network.h rename : usr/src/lib/print/ns.c => usr/src/lib/print/libprint/common/ns.c rename : usr/src/lib/print/ns.h => usr/src/lib/print/libprint/common/ns.h rename : usr/src/lib/print/ns_bsd_addr.c => usr/src/lib/print/libprint/common/ns_bsd_addr.c rename : usr/src/lib/print/ns_cmn_kvp.c => usr/src/lib/print/libprint/common/ns_cmn_kvp.c rename : usr/src/lib/print/ns_cmn_printer.c => usr/src/lib/print/libprint/common/ns_cmn_printer.c rename : usr/src/lib/print/nss_convert.c => usr/src/lib/print/libprint/common/nss_convert.c rename : usr/src/lib/print/nss_ldap.c => usr/src/lib/print/libprint/common/nss_ldap.c rename : usr/src/lib/print/nss_printer.c => usr/src/lib/print/libprint/common/nss_printer.c rename : usr/src/lib/print/nss_write.c => usr/src/lib/print/libprint/common/nss_write.c rename : usr/src/lib/print/sunPrinter.at.conf.txt => usr/src/lib/print/libprint/common/sunPrinter.at.conf.txt rename : usr/src/lib/print/sunPrinter.oc.conf.txt => usr/src/lib/print/libprint/common/sunPrinter.oc.conf.txt
Diffstat (limited to 'usr/src/cmd/print/lpstat/bsd-functions.c')
-rw-r--r--usr/src/cmd/print/lpstat/bsd-functions.c256
1 files changed, 0 insertions, 256 deletions
diff --git a/usr/src/cmd/print/lpstat/bsd-functions.c b/usr/src/cmd/print/lpstat/bsd-functions.c
deleted file mode 100644
index 8b5b42fe46..0000000000
--- a/usr/src/cmd/print/lpstat/bsd-functions.c
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 1998 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/fcntl.h>
-#include <ctype.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdarg.h>
-#include <syslog.h>
-#ifndef SUNOS_4
-#include <libintl.h>
-#endif
-extern char *getenv(const char *);
-
-#include <print/ns.h>
-#include <print/network.h>
-#include <print/misc.h>
-#include <print/list.h>
-#include <print/job.h>
-
-#include "bsd-functions.h"
-
-
-static char *order[] = {
- "", "st", "nd", "rd", "th", "th", "th", "th", "th", "th", "th" };
-
-static char *
-show_rank(int i)
-{
- static char rank[12];
- if ((i%100)/10 == 1)
- (void) sprintf(rank, "%dth", i);
- else
- (void) sprintf(rank, "%d%s", i, order[i%10]);
- return (rank);
-}
-
-
-static int
-vadd_file(jobfile_t *file, va_list ap)
-{
- char *mesg = va_arg(ap, char *);
-
- if (file != NULL) {
- (void) strlcat(mesg, file->jf_name, BUFSIZ);
- (void) strlcat(mesg, " ", BUFSIZ);
- return (file->jf_size);
- }
- return (0);
-}
-
-/*ARGSUSED*/
-static int
-vprint_file(jobfile_t *file, va_list ap)
-{
- if (file != NULL)
- (void) printf("\t%-33.33s%ld bytes\n", file->jf_name,
- file->jf_size);
- return (0);
-}
-
-static int
-vprint_job(job_t *job, va_list ap)
-{
- int jobSize = 0,
- *rank,
- format,
- curr,
- printIt = 0,
- ac;
- char fileList[BUFSIZ],
- *printer,
- **av;
-
- printer = va_arg(ap, char *);
- format = va_arg(ap, int);
- rank = va_arg(ap, int *);
- ac = va_arg(ap, int);
- av = va_arg(ap, char **);
-
- if (strcmp(job->job_printer, printer) != 0)
- return (0);
-
- if (ac > 0) {
- for (curr = 0; curr < ac; curr++)
- if ((av[curr][0] >= '0') && (av[curr][0] <= '9') &&
- (job->job_id == atoi(av[curr])) ||
- (strcmp(job->job_user, av[curr]) == 0)) {
- printIt++;
- break;
- }
- } else
- printIt++;
-
- if (printIt != 0) {
- if (format == SHOW_QUEUE_SHORT_REQUEST) {
- (void) memset(fileList, 0, sizeof (fileList));
- jobSize = list_iterate((void **)job->job_df_list,
- (VFUNC_T)vadd_file, fileList);
- (void) printf(
- "%-7.7s%-8.8s %3.3d %-38.38s%d bytes\n",
- show_rank((*rank)++), job->job_user,
- job->job_id, fileList, jobSize);
- } else {
- (void) printf("%s: %-7.7s \t\t\t\t [job %.3d%s]\n",
- job->job_user, show_rank((*rank)++),
- job->job_id, job->job_host);
- (void) list_iterate((void **)job->job_df_list,
- (VFUNC_T)vprint_file);
- (void) printf("\n");
- }
- }
- return (0);
-}
-
-static int
-vjob_count(job_t *job, va_list ap)
-{
- int curr,
- ac;
- char *printer,
- **av;
-
- printer = va_arg(ap, char *);
- ac = va_arg(ap, int);
- av = va_arg(ap, char **);
-
- if (strcmp(job->job_printer, printer) != 0)
- return (0);
-
- if (ac == 0)
- return (1);
-
- for (curr = 0; curr < ac; curr++)
- if ((av[curr][0] >= '0') && (av[curr][0] <= '9') &&
- (job->job_id == atoi(av[curr])) ||
- (strcmp(job->job_user, av[curr]) == 0))
- return (1);
-
- return (0);
-}
-
-
-void
-clear_screen() /* for now use tput rather than link in UCB stuff */
-{
- (void) system("/bin/tput clear");
-}
-
-
-int
-bsd_queue(ns_bsd_addr_t *binding, int format, int ac, char *av[])
-{
- char *server = NULL,
- *printer = NULL;
- job_t **list = NULL;
- int nd = -1,
- idle = 0,
- rc;
-
- server = binding->server;
- printer = binding->printer;
-
- if ((nd = net_open(server, 15)) >= 0) {
- char buf[BUFSIZ];
-
- (void) memset(buf, 0, sizeof (buf));
- while (ac--) { /* potential SEGV if av's are more than BUFSIZ */
- (void) strlcat(buf, av[ac], sizeof (buf));
- if (strlcat(buf, " ", sizeof (buf)) >= sizeof (buf)) {
- syslog(LOG_ERR, "bsd_queue: buffer overflow");
- }
- }
-
- rc = net_printf(nd, "%c%s %s\n", format, printer, buf);
- if (rc < 0)
- syslog(LOG_ERR, "net_printf() failed: %m");
-#ifdef SUNOS_4
- do {
- (void) memset(buf, 0, sizeof (buf));
- if ((ac = net_read(nd, buf, sizeof (buf))) > 0)
- (void) printf("%s", buf);
- } while (ac > 0);
-#else
- while (memset(buf, 0, sizeof (buf)) &&
- (net_read(nd, buf, sizeof (buf)) > 0)) {
- (void) printf("%s", buf);
- if (strstr(buf, "no entries") != 0)
- idle = 1;
- }
-#endif
-
- (void) net_close(nd);
- }
-
- if (nd < 0) {
- if (server != NULL)
- (void) fprintf(stderr, gettext(
- "could not talk to print service at %s\n"),
- server);
- else
- (void) fprintf(stderr, gettext(
- "could not locate server for printer: %s\n"),
- printer);
- }
-
- if (((list = job_list_append(NULL, printer,
- server, SPOOL_DIR)) != NULL) &&
- (list_iterate((void **)list, (VFUNC_T)vjob_count, printer,
- ac, av) != 0)) {
- if ((nd < 0) && (format == SHOW_QUEUE_SHORT_REQUEST))
- (void) printf(gettext(
- "Rank\tOwner Job\tFiles\t\t\t\t\tTotal Size\n"));
- }
-
- if (format == SHOW_QUEUE_LONG_REQUEST)
- (void) printf("\n");
-
- nd = 1;
- (void) list_iterate((void **)list, (VFUNC_T)vprint_job, printer, format,
- &nd, ac, av);
-
- if ((idle == 1) && (list == NULL))
- return (1);
- else
- return (0);
-}