1*b41cc0c8Stobhe /* $OpenBSD: parser.h,v 1.18 2022/09/19 20:54:02 tobhe Exp $ */ 2901ee4f0Sreyk 3901ee4f0Sreyk /* 4fcebd35dSreyk * Copyright (c) 2007-2013 Reyk Floeter <reyk@openbsd.org> 5901ee4f0Sreyk * 6901ee4f0Sreyk * Permission to use, copy, modify, and distribute this software for any 7901ee4f0Sreyk * purpose with or without fee is hereby granted, provided that the above 8901ee4f0Sreyk * copyright notice and this permission notice appear in all copies. 9901ee4f0Sreyk * 10901ee4f0Sreyk * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11901ee4f0Sreyk * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12901ee4f0Sreyk * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13901ee4f0Sreyk * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14901ee4f0Sreyk * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15901ee4f0Sreyk * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16901ee4f0Sreyk * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17901ee4f0Sreyk */ 18901ee4f0Sreyk 19a3e464c5Sreyk #ifndef IKECTL_PARSER_H 20a3e464c5Sreyk #define IKECTL_PARSER_H 21cfd26ebdSreyk 22901ee4f0Sreyk enum actions { 23901ee4f0Sreyk NONE, 24901ee4f0Sreyk LOAD, 25901ee4f0Sreyk RELOAD, 26901ee4f0Sreyk MONITOR, 27901ee4f0Sreyk LOG_VERBOSE, 28901ee4f0Sreyk LOG_BRIEF, 29fc20f985Sreyk COUPLE, 30fc20f985Sreyk DECOUPLE, 31fc20f985Sreyk ACTIVE, 32fc20f985Sreyk PASSIVE, 33901ee4f0Sreyk RESETALL, 34901ee4f0Sreyk RESETCA, 35901ee4f0Sreyk RESETPOLICY, 36901ee4f0Sreyk RESETSA, 37901ee4f0Sreyk RESETUSER, 38901ee4f0Sreyk CA, 39901ee4f0Sreyk CA_CREATE, 40901ee4f0Sreyk CA_DELETE, 41901ee4f0Sreyk CA_INSTALL, 420dd4c7c3Sjsg CA_EXPORT, 43901ee4f0Sreyk CA_CERTIFICATE, 44901ee4f0Sreyk CA_CERT_CREATE, 45cfd26ebdSreyk CA_SERVER, 46cfd26ebdSreyk CA_CLIENT, 47ab7171b1Sjsg CA_OCSP, 48901ee4f0Sreyk CA_CERT_DELETE, 49901ee4f0Sreyk CA_CERT_INSTALL, 50901ee4f0Sreyk CA_CERT_EXPORT, 51c3cc2c5eSjsg CA_CERT_REVOKE, 521dbb1d4aSjsg CA_KEY_CREATE, 531dbb1d4aSjsg CA_KEY_DELETE, 541dbb1d4aSjsg CA_KEY_INSTALL, 551dbb1d4aSjsg CA_KEY_IMPORT, 56901ee4f0Sreyk SHOW_CA, 578c502e93Stobhe SHOW_CA_CERTIFICATES, 58969a8793Stobhe SHOW_SA, 596cf0fa19Stobhe RESET_ID, 60*b41cc0c8Stobhe SHOW_CERTSTORE, 61*b41cc0c8Stobhe SHOW_STATS 62901ee4f0Sreyk }; 63901ee4f0Sreyk 64901ee4f0Sreyk struct parse_result { 65901ee4f0Sreyk enum actions action; 66901ee4f0Sreyk struct imsgbuf *ibuf; 677638a50cSjsg char *path; 68901ee4f0Sreyk char *caname; 69cfd26ebdSreyk char *pass; 70901ee4f0Sreyk char *host; 710dd4c7c3Sjsg char *peer; 728c502e93Stobhe char *id; 73901ee4f0Sreyk int htype; 74cfd26ebdSreyk int quiet; 75901ee4f0Sreyk }; 76901ee4f0Sreyk 77901ee4f0Sreyk #define HOST_IPADDR 1 78901ee4f0Sreyk #define HOST_FQDN 2 79901ee4f0Sreyk 80901ee4f0Sreyk struct parse_result *parse(int, char *[]); 81cfd26ebdSreyk 82cfd26ebdSreyk struct ca *ca_setup(char *, int, int, char *); 83cfd26ebdSreyk int ca_create(struct ca *); 84cfd26ebdSreyk int ca_certificate(struct ca *, char *, int, int); 85cfe372e4Sreyk int ca_export(struct ca *, char *, char *, char *); 86cfd26ebdSreyk int ca_revoke(struct ca *, char *); 87cfd26ebdSreyk int ca_delete(struct ca *); 88cfd26ebdSreyk int ca_delkey(struct ca *, char *); 897638a50cSjsg int ca_install(struct ca *, char *); 907638a50cSjsg int ca_cert_install(struct ca *, char *, char *); 9169ffd282Sreyk int ca_show_certs(struct ca *, char *); 92cfd26ebdSreyk int ca_key_create(struct ca *, char *); 93cfd26ebdSreyk int ca_key_delete(struct ca *, char *); 947638a50cSjsg int ca_key_install(struct ca *, char *, char *); 95cfd26ebdSreyk int ca_key_import(struct ca *, char *, char *); 96cfd26ebdSreyk 97a3e464c5Sreyk #endif /* IKECTL_PARSER_H */ 98