xref: /aosp_15_r20/external/libcups/scheduler/policy.h (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
1*5e7646d2SAndroid Build Coastguard Worker /*
2*5e7646d2SAndroid Build Coastguard Worker  * Policy definitions for the CUPS scheduler.
3*5e7646d2SAndroid Build Coastguard Worker  *
4*5e7646d2SAndroid Build Coastguard Worker  * Copyright 2007-2010 by Apple Inc.
5*5e7646d2SAndroid Build Coastguard Worker  * Copyright 1997-2005 by Easy Software Products, all rights reserved.
6*5e7646d2SAndroid Build Coastguard Worker  *
7*5e7646d2SAndroid Build Coastguard Worker  * Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
8*5e7646d2SAndroid Build Coastguard Worker  */
9*5e7646d2SAndroid Build Coastguard Worker 
10*5e7646d2SAndroid Build Coastguard Worker 
11*5e7646d2SAndroid Build Coastguard Worker /*
12*5e7646d2SAndroid Build Coastguard Worker  * Policy structure...
13*5e7646d2SAndroid Build Coastguard Worker  */
14*5e7646d2SAndroid Build Coastguard Worker 
15*5e7646d2SAndroid Build Coastguard Worker typedef struct
16*5e7646d2SAndroid Build Coastguard Worker {
17*5e7646d2SAndroid Build Coastguard Worker   char			*name;		/* Policy name */
18*5e7646d2SAndroid Build Coastguard Worker   cups_array_t		*job_access,	/* Private users/groups for jobs */
19*5e7646d2SAndroid Build Coastguard Worker 			*job_attrs,	/* Private attributes for jobs */
20*5e7646d2SAndroid Build Coastguard Worker 			*sub_access,	/* Private users/groups for subscriptions */
21*5e7646d2SAndroid Build Coastguard Worker 			*sub_attrs,	/* Private attributes for subscriptions */
22*5e7646d2SAndroid Build Coastguard Worker 			*ops;		/* Operations */
23*5e7646d2SAndroid Build Coastguard Worker } cupsd_policy_t;
24*5e7646d2SAndroid Build Coastguard Worker 
25*5e7646d2SAndroid Build Coastguard Worker typedef struct cupsd_printer_s cupsd_printer_t;
26*5e7646d2SAndroid Build Coastguard Worker 
27*5e7646d2SAndroid Build Coastguard Worker 
28*5e7646d2SAndroid Build Coastguard Worker /*
29*5e7646d2SAndroid Build Coastguard Worker  * Globals...
30*5e7646d2SAndroid Build Coastguard Worker  */
31*5e7646d2SAndroid Build Coastguard Worker 
32*5e7646d2SAndroid Build Coastguard Worker VAR cups_array_t	*Policies	VALUE(NULL);
33*5e7646d2SAndroid Build Coastguard Worker 					/* Policies */
34*5e7646d2SAndroid Build Coastguard Worker 
35*5e7646d2SAndroid Build Coastguard Worker 
36*5e7646d2SAndroid Build Coastguard Worker /*
37*5e7646d2SAndroid Build Coastguard Worker  * Prototypes...
38*5e7646d2SAndroid Build Coastguard Worker  */
39*5e7646d2SAndroid Build Coastguard Worker 
40*5e7646d2SAndroid Build Coastguard Worker extern cupsd_policy_t	*cupsdAddPolicy(const char *policy);
41*5e7646d2SAndroid Build Coastguard Worker extern cupsd_location_t	*cupsdAddPolicyOp(cupsd_policy_t *p,
42*5e7646d2SAndroid Build Coastguard Worker 			                  cupsd_location_t *po,
43*5e7646d2SAndroid Build Coastguard Worker 			                  ipp_op_t op);
44*5e7646d2SAndroid Build Coastguard Worker extern http_status_t	cupsdCheckPolicy(cupsd_policy_t *p, cupsd_client_t *con,
45*5e7646d2SAndroid Build Coastguard Worker 				         const char *owner);
46*5e7646d2SAndroid Build Coastguard Worker extern void		cupsdDeleteAllPolicies(void);
47*5e7646d2SAndroid Build Coastguard Worker extern cupsd_policy_t	*cupsdFindPolicy(const char *policy);
48*5e7646d2SAndroid Build Coastguard Worker extern cupsd_location_t	*cupsdFindPolicyOp(cupsd_policy_t *p, ipp_op_t op);
49*5e7646d2SAndroid Build Coastguard Worker extern cups_array_t	*cupsdGetPrivateAttrs(cupsd_policy_t *p,
50*5e7646d2SAndroid Build Coastguard Worker 			                      cupsd_client_t *con,
51*5e7646d2SAndroid Build Coastguard Worker 					      cupsd_printer_t *printer,
52*5e7646d2SAndroid Build Coastguard Worker 			                      const char *owner);
53