]> git.ipfire.org Git - thirdparty/cups.git/blob - scheduler/cert.h
License change: Apache License, Version 2.0.
[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 * Licensed under Apache License v2.0. See the file "LICENSE" for more information.
8 */
9
10 /*
11 * Certificate structure...
12 */
13
14 typedef struct cupsd_cert_s
15 {
16 struct cupsd_cert_s *next; /* Next certificate in list */
17 int pid; /* Process ID (0 for root certificate) */
18 char certificate[33]; /* 32 hex characters, or 128 bits */
19 char username[33]; /* Authenticated username */
20 int type; /* AuthType for username */
21 } cupsd_cert_t;
22
23
24 /*
25 * Globals...
26 */
27
28 VAR cupsd_cert_t *Certs /* List of certificates */
29 VALUE(NULL);
30 VAR time_t RootCertTime /* Root certificate update time */
31 VALUE(0);
32
33
34 /*
35 * Prototypes...
36 */
37
38 extern void cupsdAddCert(int pid, const char *username, int type);
39 extern void cupsdDeleteCert(int pid);
40 extern void cupsdDeleteAllCerts(void);
41 extern cupsd_cert_t *cupsdFindCert(const char *certificate);
42 extern void cupsdInitCerts(void);