1/*	$NetBSD$	*/
2
3#ifndef _TLS_MGR_CLNT_H_INCLUDED_
4#define _TLS_MGR_CLNT_H_INCLUDED_
5
6/*++
7/* NAME
8/*	tls_mgr 3h
9/* SUMMARY
10/*	tlsmgr client interface
11/* SYNOPSIS
12/*	#include <tls_mgr.h>
13/* DESCRIPTION
14/* .nf
15
16 /*
17  * TLS library
18  */
19#include <tls_scache.h>			/* Session ticket keys */
20
21 /*
22  * TLS manager protocol.
23  */
24#define TLS_MGR_SERVICE		"tlsmgr"
25#define TLS_MGR_CLASS		"private"
26
27#define TLS_MGR_ATTR_REQ	"request"
28#define TLS_MGR_REQ_SEED	"seed"
29#define TLS_MGR_REQ_POLICY	"policy"
30#define TLS_MGR_REQ_LOOKUP	"lookup"
31#define TLS_MGR_REQ_UPDATE	"update"
32#define TLS_MGR_REQ_DELETE	"delete"
33#define TLS_MGR_REQ_TKTKEY	"tktkey"
34#define TLS_MGR_ATTR_CACHABLE	"cachable"
35#define TLS_MGR_ATTR_CACHE_TYPE	"cache_type"
36#define TLS_MGR_ATTR_SEED	"seed"
37#define TLS_MGR_ATTR_CACHE_ID	"cache_id"
38#define TLS_MGR_ATTR_SESSION	"session"
39#define TLS_MGR_ATTR_SIZE	"size"
40#define TLS_MGR_ATTR_STATUS	"status"
41#define TLS_MGR_ATTR_KEYNAME	"keyname"
42#define TLS_MGR_ATTR_KEYBUF	"keybuf"
43#define TLS_MGR_ATTR_SESSTOUT	"timeout"
44
45 /*
46  * TLS manager request status codes.
47  */
48#define TLS_MGR_STAT_OK		0	/* success */
49#define TLS_MGR_STAT_ERR	(-1)	/* object not found */
50#define TLS_MGR_STAT_FAIL	(-2)	/* protocol error */
51
52 /*
53  * Functional interface.
54  */
55extern int tls_mgr_seed(VSTRING *, int);
56extern int tls_mgr_policy(const char *, int *, int *);
57extern int tls_mgr_lookup(const char *, const char *, VSTRING *);
58extern int tls_mgr_update(const char *, const char *, const char *, ssize_t);
59extern int tls_mgr_delete(const char *, const char *);
60extern TLS_TICKET_KEY *tls_mgr_key(unsigned char *, int);
61
62/* LICENSE
63/* .ad
64/* .fi
65/*	The Secure Mailer license must be distributed with this software.
66/* AUTHOR(S)
67/*	Wietse Venema
68/*	IBM T.J. Watson Research
69/*	P.O. Box 704
70/*	Yorktown Heights, NY 10598, USA
71/*--*/
72
73#endif
74