]> git.ipfire.org Git - thirdparty/cups.git/blob - scheduler/policy.h
Update svn:keyword properties.
[thirdparty/cups.git] / scheduler / policy.h
1 /*
2 * "$Id$"
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
21 typedef 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
31 typedef struct cupsd_printer_s cupsd_printer_t;
32
33
34 /*
35 * Globals...
36 */
37
38 VAR cups_array_t *Policies VALUE(NULL);
39 /* Policies */
40
41
42 /*
43 * Prototypes...
44 */
45
46 extern cupsd_policy_t *cupsdAddPolicy(const char *policy);
47 extern cupsd_location_t *cupsdAddPolicyOp(cupsd_policy_t *p,
48 cupsd_location_t *po,
49 ipp_op_t op);
50 extern http_status_t cupsdCheckPolicy(cupsd_policy_t *p, cupsd_client_t *con,
51 const char *owner);
52 extern void cupsdDeleteAllPolicies(void);
53 extern cupsd_policy_t *cupsdFindPolicy(const char *policy);
54 extern cupsd_location_t *cupsdFindPolicyOp(cupsd_policy_t *p, ipp_op_t op);
55 extern 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$".
63 */