1/*
2 * $Id: printer.h,v 1.6 2005-04-28 20:49:49 bfernhomberg Exp $
3 *
4 * Copyright (c) 1990,1995 Regents of The University of Michigan.
5 * All Rights Reserved.  See COPYRIGHT.
6 */
7
8struct printer {
9    char		*p_name;
10    char		*p_type;
11    char		*p_zone;
12    char		*p_u_name;
13#ifdef notdef
14    char		*p_fonts;
15    char		*p_psetdir;
16#endif /* notdef */
17    char		*p_ppdfile;
18    char		p_status[255];
19    char		*p_authprintdir;
20    int			p_flags;
21    struct at_addr      p_addr;
22    union {
23	struct {
24	    char		*pr_printer;
25	    char		*pr_operator;
26	    char		*pr_spool;
27#ifdef ABS_PRINT
28	    char		*pr_role;
29	    double		pr_balance;
30	    int			pr_srvid;
31#endif /* ABS_PRINT */
32	    int			pr_pagecost;
33	    char		*pr_pagecost_msg;
34	    char		*pr_lock;
35	} pu_pr;
36	char		*pu_cmd;
37    } p_un;
38    ATP			p_atp;
39#ifdef HAVE_CUPS
40    char 		*p_cupsoptions;
41#endif
42    struct printer	*p_next;
43};
44#define p_cmd		p_un.pu_cmd
45#define p_printer	p_un.pu_pr.pr_printer
46#define p_operator	p_un.pu_pr.pr_operator
47#define p_spool		p_un.pu_pr.pr_spool
48#ifdef ABS_PRINT
49#define p_role		p_un.pu_pr.pr_role
50#define p_balance	p_un.pu_pr.pr_balance
51#define p_srvid		p_un.pu_pr.pr_srvid
52#endif /* ABS_PRINT */
53#define p_pagecost	p_un.pu_pr.pr_pagecost
54#define p_pagecost_msg	p_un.pu_pr.pr_pagecost_msg
55#define p_lock		p_un.pu_pr.pr_lock
56
57#define P_PIPED		(1<<0)
58#define P_SPOOLED	(1<<1)
59#define P_REGISTERED	(1<<2)
60#define P_ACCOUNT	(1<<3)
61#define P_KRB		(1<<4)
62#define P_AUTH		(1<<5)
63#define P_AUTH_PSSP	(1<<6)
64#define P_AUTH_CAP	(1<<7)
65#define P_CUPS		(1<<8)
66#define P_CUPS_PPD	(1<<9)
67#define P_CUPS_AUTOADDED (1<<10)
68#define P_FOOMATIC_HACK (1<<11)
69
70extern struct printer	*printer;
71