xref: /openbsd-src/usr.sbin/relayctl/parser.h (revision a3e464c5f2b0fe1ee4d1db6136e1d1e063cdc4b9)
1*a3e464c5Sreyk /*	$OpenBSD: parser.h,v 1.16 2015/06/11 18:49:09 reyk Exp $	*/
2feb9ff76Sreyk 
3feb9ff76Sreyk /*
436f5dc5eSpyr  * Copyright (c) 2006 Pierre-Yves Ritschard <pyr@openbsd.org>
5feb9ff76Sreyk  *
6feb9ff76Sreyk  * Permission to use, copy, modify, and distribute this software for any
7feb9ff76Sreyk  * purpose with or without fee is hereby granted, provided that the above
8feb9ff76Sreyk  * copyright notice and this permission notice appear in all copies.
9feb9ff76Sreyk  *
10feb9ff76Sreyk  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11feb9ff76Sreyk  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12feb9ff76Sreyk  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13feb9ff76Sreyk  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14feb9ff76Sreyk  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15feb9ff76Sreyk  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16feb9ff76Sreyk  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17feb9ff76Sreyk  */
18feb9ff76Sreyk 
19f04ff968Sreyk #include "relayd.h"
20f04ff968Sreyk 
21*a3e464c5Sreyk #ifndef RELAYCTL_PARSER_H
22*a3e464c5Sreyk #define RELAYCTL_PARSER_H
23*a3e464c5Sreyk 
24feb9ff76Sreyk enum actions {
25feb9ff76Sreyk 	NONE,
26feb9ff76Sreyk 	SHOW_SUM,
272edd718bSreyk 	SHOW_HOSTS,
28dec6607bSreyk 	SHOW_RDRS,
292edd718bSreyk 	SHOW_RELAYS,
30fa0d8478Sreyk 	SHOW_SESSIONS,
31417c432fSreyk 	SHOW_ROUTERS,
329591a9f7Spyr 	RDR_DISABLE,
339591a9f7Spyr 	RDR_ENABLE,
34feb9ff76Sreyk 	TABLE_DISABLE,
35feb9ff76Sreyk 	TABLE_ENABLE,
36feb9ff76Sreyk 	HOST_DISABLE,
37feb9ff76Sreyk 	HOST_ENABLE,
38feb9ff76Sreyk 	SHUTDOWN,
39cd65ce7bSpyr 	POLL,
40a2195becSreyk 	LOAD,
411569a65fSpyr 	RELOAD,
42f579a0f7Sjsg 	MONITOR,
43f579a0f7Sjsg 	LOG_VERBOSE,
44f579a0f7Sjsg 	LOG_BRIEF
45feb9ff76Sreyk };
46feb9ff76Sreyk 
47feb9ff76Sreyk struct parse_result {
48ef1f2334Sreyk 	struct ctl_id	id;
49feb9ff76Sreyk 	enum actions	action;
50a2195becSreyk 	char		*path;
51feb9ff76Sreyk };
52feb9ff76Sreyk 
53feb9ff76Sreyk struct parse_result	*parse(int, char *[]);
54*a3e464c5Sreyk 
55*a3e464c5Sreyk #endif /* RELAYCTL_PARSER_H */
56