|
|
1.1 root 1: /*
2: * Copyright (c) 1983 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution and use in source and binary forms are permitted provided
6: * that: (1) source distributions retain this entire copyright notice and
7: * comment, and (2) distributions including binaries display the following
8: * acknowledgement: ``This product includes software developed by the
9: * University of California, Berkeley and its contributors'' in the
10: * documentation or other materials provided with the distribution and in
11: * all advertising materials mentioning features or use of this software.
12: * Neither the name of the University nor the names of its contributors may
13: * be used to endorse or promote products derived from this software without
14: * specific prior written permission.
15: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
16: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
17: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
18: */
19:
20: #ifndef lint
21: char copyright[] =
22: "@(#) Copyright (c) 1983 Regents of the University of California.\n\
23: All rights reserved.\n";
24: #endif /* not lint */
25:
26: #ifndef lint
27: static char sccsid[] = "@(#)lpq.c 5.6 (Berkeley) 6/1/90";
28: #endif /* not lint */
29:
30: /*
31: * Spool Queue examination program
32: *
33: * lpq [-l] [-Pprinter] [user...] [job...]
34: *
35: * -l long output
36: * -P used to identify printer as per lpr/lprm
37: */
38:
39: #include "lp.h"
40:
41: char *user[MAXUSERS]; /* users to process */
42: int users; /* # of users in user array */
43: int requ[MAXREQUESTS]; /* job number of spool entries */
44: int requests; /* # of spool requests */
45:
46: main(argc, argv)
47: register int argc;
48: register char **argv;
49: {
50: extern char *optarg;
51: extern int optind;
52: int ch, lflag; /* long output option */
53:
54: name = *argv;
55: if (gethostname(host, sizeof(host))) {
56: perror("lpq: gethostname");
57: exit(1);
58: }
59: openlog("lpd", 0, LOG_LPR);
60:
61: lflag = 0;
62: while ((ch = getopt(argc, argv, "lP:")) != EOF)
63: switch((char)ch) {
64: case 'l': /* long output */
65: ++lflag;
66: break;
67: case 'P': /* printer name */
68: printer = optarg;
69: break;
70: case '?':
71: default:
72: usage();
73: }
74:
75: if (printer == NULL && (printer = getenv("PRINTER")) == NULL)
76: printer = DEFLP;
77:
78: for (argc -= optind, argv += optind; argc; --argc, ++argv)
79: if (isdigit(argv[0][0])) {
80: if (requests >= MAXREQUESTS)
81: fatal("too many requests");
82: requ[requests++] = atoi(*argv);
83: }
84: else {
85: if (users >= MAXUSERS)
86: fatal("too many users");
87: user[users++] = *argv;
88: }
89:
90: displayq(lflag);
91: exit(0);
92: }
93:
94: static
95: usage()
96: {
97: puts("usage: lpq [-l] [-Pprinter] [user ...] [job ...]");
98: exit(1);
99: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.