jcs's openbsd hax
openbsd
1/* $OpenBSD: parser.h,v 1.18 2022/09/19 20:54:02 tobhe Exp $ */
2
3/*
4 * Copyright (c) 2007-2013 Reyk Floeter <reyk@openbsd.org>
5 *
6 * Permission to use, copy, modify, and distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.
9 *
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 */
18
19#ifndef IKECTL_PARSER_H
20#define IKECTL_PARSER_H
21
22enum actions {
23 NONE,
24 LOAD,
25 RELOAD,
26 MONITOR,
27 LOG_VERBOSE,
28 LOG_BRIEF,
29 COUPLE,
30 DECOUPLE,
31 ACTIVE,
32 PASSIVE,
33 RESETALL,
34 RESETCA,
35 RESETPOLICY,
36 RESETSA,
37 RESETUSER,
38 CA,
39 CA_CREATE,
40 CA_DELETE,
41 CA_INSTALL,
42 CA_EXPORT,
43 CA_CERTIFICATE,
44 CA_CERT_CREATE,
45 CA_SERVER,
46 CA_CLIENT,
47 CA_OCSP,
48 CA_CERT_DELETE,
49 CA_CERT_INSTALL,
50 CA_CERT_EXPORT,
51 CA_CERT_REVOKE,
52 CA_KEY_CREATE,
53 CA_KEY_DELETE,
54 CA_KEY_INSTALL,
55 CA_KEY_IMPORT,
56 SHOW_CA,
57 SHOW_CA_CERTIFICATES,
58 SHOW_SA,
59 RESET_ID,
60 SHOW_CERTSTORE,
61 SHOW_STATS
62};
63
64struct parse_result {
65 enum actions action;
66 struct imsgbuf *ibuf;
67 char *path;
68 char *caname;
69 char *pass;
70 char *host;
71 char *peer;
72 char *id;
73 int htype;
74 int quiet;
75};
76
77#define HOST_IPADDR 1
78#define HOST_FQDN 2
79
80struct parse_result *parse(int, char *[]);
81
82struct ca *ca_setup(char *, int, int, char *);
83int ca_create(struct ca *);
84int ca_certificate(struct ca *, char *, int, int);
85int ca_export(struct ca *, char *, char *, char *);
86int ca_revoke(struct ca *, char *);
87int ca_delete(struct ca *);
88int ca_delkey(struct ca *, char *);
89int ca_install(struct ca *, char *);
90int ca_cert_install(struct ca *, char *, char *);
91int ca_show_certs(struct ca *, char *);
92int ca_key_create(struct ca *, char *);
93int ca_key_delete(struct ca *, char *);
94int ca_key_install(struct ca *, char *, char *);
95int ca_key_import(struct ca *, char *, char *);
96
97#endif /* IKECTL_PARSER_H */