1 /*        $NetBSD: tls_mgr.h,v 1.1.1.2 2014/07/06 19:27:54 tron Exp $ */
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   */
55 extern int tls_mgr_seed(VSTRING *, int);
56 extern int tls_mgr_policy(const char *, int *, int *);
57 extern int tls_mgr_lookup(const char *, const char *, VSTRING *);
58 extern int tls_mgr_update(const char *, const char *, const char *, ssize_t);
59 extern int tls_mgr_delete(const char *, const char *);
60 extern 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