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