]> git.ipfire.org Git - thirdparty/cups.git/blob - scheduler/cert.h
a4e452995b99135715fba111336ff3676a713d28
[thirdparty/cups.git] / scheduler / cert.h
1 /*
2 * Authentication certificate definitions for the CUPS scheduler.
3 *
4 * Copyright 2007-2012 by Apple Inc.
5 * Copyright 1997-2005 by Easy Software Products.
6 *
7 * These coded instructions, statements, and computer programs are the
8 * property of Apple Inc. and are protected by Federal copyright
9 * law. Distribution and use rights are outlined in the file "LICENSE.txt"
10 * which should have been included with this file. If this file is
11 * file is missing or damaged, see the license at "http://www.cups.org/".
12 */
13
14 /*
15 * Certificate structure...
16 */
17
18 typedef struct cupsd_cert_s
19 {
20 struct cupsd_cert_s *next; /* Next certificate in list */
21 int pid; /* Process ID (0 for root certificate) */
22 char certificate[33]; /* 32 hex characters, or 128 bits */
23 char username[33]; /* Authenticated username */
24 int type; /* AuthType for username */
25 } cupsd_cert_t;
26
27
28 /*
29 * Globals...
30 */
31
32 VAR cupsd_cert_t *Certs /* List of certificates */
33 VALUE(NULL);
34 VAR time_t RootCertTime /* Root certificate update time */
35 VALUE(0);
36
37
38 /*
39 * Prototypes...
40 */
41
42 extern void cupsdAddCert(int pid, const char *username, int type);
43 extern void cupsdDeleteCert(int pid);
44 extern void cupsdDeleteAllCerts(void);
45 extern cupsd_cert_t *cupsdFindCert(const char *certificate);
46 extern void cupsdInitCerts(void);