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