cups/scheduler/policy.h

53 lines
1.4 KiB
C
Raw Normal View History

2022-05-13 20:08:20 +08:00
/*
* Policy definitions for the CUPS scheduler.
*
* Copyright 2007-2010 by Apple Inc.
* Copyright 1997-2005 by Easy Software Products, all rights reserved.
*
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
*/
/*
* Policy structure...
*/
typedef struct
{
char *name; /* Policy name */
cups_array_t *job_access, /* Private users/groups for jobs */
*job_attrs, /* Private attributes for jobs */
*sub_access, /* Private users/groups for subscriptions */
*sub_attrs, /* Private attributes for subscriptions */
*ops; /* Operations */
} cupsd_policy_t;
typedef struct cupsd_printer_s cupsd_printer_t;
/*
* Globals...
*/
VAR cups_array_t *Policies VALUE(NULL);
/* Policies */
/*
* Prototypes...
*/
extern cupsd_policy_t *cupsdAddPolicy(const char *policy);
extern cupsd_location_t *cupsdAddPolicyOp(cupsd_policy_t *p,
cupsd_location_t *po,
ipp_op_t op);
extern http_status_t cupsdCheckPolicy(cupsd_policy_t *p, cupsd_client_t *con,
const char *owner);
extern void cupsdDeleteAllPolicies(void);
extern cupsd_policy_t *cupsdFindPolicy(const char *policy);
extern cupsd_location_t *cupsdFindPolicyOp(cupsd_policy_t *p, ipp_op_t op);
extern cups_array_t *cupsdGetPrivateAttrs(cupsd_policy_t *p,
cupsd_client_t *con,
cupsd_printer_t *printer,
const char *owner);