xref: /aosp_15_r20/external/libcups/scheduler/cert.h (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
1*5e7646d2SAndroid Build Coastguard Worker /*
2*5e7646d2SAndroid Build Coastguard Worker  * Authentication certificate definitions for the CUPS scheduler.
3*5e7646d2SAndroid Build Coastguard Worker  *
4*5e7646d2SAndroid Build Coastguard Worker  * Copyright 2007-2012 by Apple Inc.
5*5e7646d2SAndroid Build Coastguard Worker  * Copyright 1997-2005 by Easy Software Products.
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  * Certificate structure...
12*5e7646d2SAndroid Build Coastguard Worker  */
13*5e7646d2SAndroid Build Coastguard Worker 
14*5e7646d2SAndroid Build Coastguard Worker typedef struct cupsd_cert_s
15*5e7646d2SAndroid Build Coastguard Worker {
16*5e7646d2SAndroid Build Coastguard Worker   struct cupsd_cert_s *next;		/* Next certificate in list */
17*5e7646d2SAndroid Build Coastguard Worker   int		pid;			/* Process ID (0 for root certificate) */
18*5e7646d2SAndroid Build Coastguard Worker   char		certificate[33];	/* 32 hex characters, or 128 bits */
19*5e7646d2SAndroid Build Coastguard Worker   char		username[33];		/* Authenticated username */
20*5e7646d2SAndroid Build Coastguard Worker   int		type;			/* AuthType for username */
21*5e7646d2SAndroid Build Coastguard Worker } cupsd_cert_t;
22*5e7646d2SAndroid Build Coastguard Worker 
23*5e7646d2SAndroid Build Coastguard Worker 
24*5e7646d2SAndroid Build Coastguard Worker /*
25*5e7646d2SAndroid Build Coastguard Worker  * Globals...
26*5e7646d2SAndroid Build Coastguard Worker  */
27*5e7646d2SAndroid Build Coastguard Worker 
28*5e7646d2SAndroid Build Coastguard Worker VAR cupsd_cert_t	*Certs		/* List of certificates */
29*5e7646d2SAndroid Build Coastguard Worker 				VALUE(NULL);
30*5e7646d2SAndroid Build Coastguard Worker VAR time_t		RootCertTime	/* Root certificate update time */
31*5e7646d2SAndroid Build Coastguard Worker 				VALUE(0);
32*5e7646d2SAndroid Build Coastguard Worker 
33*5e7646d2SAndroid Build Coastguard Worker 
34*5e7646d2SAndroid Build Coastguard Worker /*
35*5e7646d2SAndroid Build Coastguard Worker  * Prototypes...
36*5e7646d2SAndroid Build Coastguard Worker  */
37*5e7646d2SAndroid Build Coastguard Worker 
38*5e7646d2SAndroid Build Coastguard Worker extern void		cupsdAddCert(int pid, const char *username, int type);
39*5e7646d2SAndroid Build Coastguard Worker extern void		cupsdDeleteCert(int pid);
40*5e7646d2SAndroid Build Coastguard Worker extern void		cupsdDeleteAllCerts(void);
41*5e7646d2SAndroid Build Coastguard Worker extern cupsd_cert_t	*cupsdFindCert(const char *certificate);
42*5e7646d2SAndroid Build Coastguard Worker extern void		cupsdInitCerts(void);
43