1/*
2 * "$Id: policy.h 11093 2013-07-03 20:48:42Z msweet $"
3 *
4 *   Policy definitions for the CUPS scheduler.
5 *
6 *   Copyright 2007-2010 by Apple Inc.
7 *   Copyright 1997-2005 by Easy Software Products, all rights reserved.
8 *
9 *   These coded instructions, statements, and computer programs are the
10 *   property of Apple Inc. and are protected by Federal copyright
11 *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
12 *   which should have been included with this file.  If this file is
13 *   file is missing or damaged, see the license at "http://www.cups.org/".
14 */
15
16
17/*
18 * Policy structure...
19 */
20
21typedef struct
22{
23  char			*name;		/* Policy name */
24  cups_array_t		*job_access,	/* Private users/groups for jobs */
25			*job_attrs,	/* Private attributes for jobs */
26			*sub_access,	/* Private users/groups for subscriptions */
27			*sub_attrs,	/* Private attributes for subscriptions */
28			*ops;		/* Operations */
29} cupsd_policy_t;
30
31typedef struct cupsd_printer_s cupsd_printer_t;
32
33
34/*
35 * Globals...
36 */
37
38VAR cups_array_t	*Policies	VALUE(NULL);
39					/* Policies */
40
41
42/*
43 * Prototypes...
44 */
45
46extern cupsd_policy_t	*cupsdAddPolicy(const char *policy);
47extern cupsd_location_t	*cupsdAddPolicyOp(cupsd_policy_t *p,
48			                  cupsd_location_t *po,
49			                  ipp_op_t op);
50extern http_status_t	cupsdCheckPolicy(cupsd_policy_t *p, cupsd_client_t *con,
51				         const char *owner);
52extern void		cupsdDeleteAllPolicies(void);
53extern cupsd_policy_t	*cupsdFindPolicy(const char *policy);
54extern cupsd_location_t	*cupsdFindPolicyOp(cupsd_policy_t *p, ipp_op_t op);
55extern cups_array_t	*cupsdGetPrivateAttrs(cupsd_policy_t *p,
56			                      cupsd_client_t *con,
57					      cupsd_printer_t *printer,
58			                      const char *owner);
59
60
61/*
62 * End of "$Id: policy.h 11093 2013-07-03 20:48:42Z msweet $".
63 */
64