xref: /openbsd-src/usr.sbin/npppctl/parser.h (revision 34682664ae5d4327113ce5bfff94b0e36c834919)
1*34682664Syasuoka /*	$OpenBSD: parser.h,v 1.3 2014/03/22 04:30:31 yasuoka Exp $	*/
2363e4d4bSyasuoka 
3363e4d4bSyasuoka /* This file is derived from OpenBSD:src/usr.sbin/ikectl/parser.h 1.9 */
4363e4d4bSyasuoka /*
5363e4d4bSyasuoka  * Copyright (c) 2007, 2008 Reyk Floeter <reyk@vantronix.net>
6363e4d4bSyasuoka  *
7363e4d4bSyasuoka  * Permission to use, copy, modify, and distribute this software for any
8363e4d4bSyasuoka  * purpose with or without fee is hereby granted, provided that the above
9363e4d4bSyasuoka  * copyright notice and this permission notice appear in all copies.
10363e4d4bSyasuoka  *
11363e4d4bSyasuoka  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12363e4d4bSyasuoka  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13363e4d4bSyasuoka  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14363e4d4bSyasuoka  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15363e4d4bSyasuoka  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16363e4d4bSyasuoka  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17363e4d4bSyasuoka  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18363e4d4bSyasuoka  */
19363e4d4bSyasuoka 
20363e4d4bSyasuoka #ifndef _NPPPCTL_PARSER_H
21363e4d4bSyasuoka #define _NPPPCTL_PARSER_H
22363e4d4bSyasuoka 
23363e4d4bSyasuoka enum actions {
24363e4d4bSyasuoka 	NONE,
25363e4d4bSyasuoka 	SESSION_BRIEF,
26363e4d4bSyasuoka 	SESSION_PKTS,
27363e4d4bSyasuoka 	SESSION_ALL,
28*34682664Syasuoka 	CLEAR_SESSION,
29*34682664Syasuoka 	MONITOR_SESSION
30363e4d4bSyasuoka };
31363e4d4bSyasuoka 
32363e4d4bSyasuoka enum protocol {
33363e4d4bSyasuoka 	PROTO_UNSPEC = 0,
34363e4d4bSyasuoka 	PPTP,
35363e4d4bSyasuoka 	L2TP,
36363e4d4bSyasuoka 	PPPOE,
37363e4d4bSyasuoka 	SSTP
38363e4d4bSyasuoka };
39363e4d4bSyasuoka 
40363e4d4bSyasuoka struct parse_result {
41363e4d4bSyasuoka 	enum actions		 action;
42363e4d4bSyasuoka 	u_int			 ppp_id;
43363e4d4bSyasuoka 	int			 has_ppp_id;
44363e4d4bSyasuoka 	struct sockaddr_storage	 address;
45363e4d4bSyasuoka 	const char		*interface;
46363e4d4bSyasuoka 	enum protocol		 protocol;
47363e4d4bSyasuoka 	const char		*realm;
48363e4d4bSyasuoka 	const char		*username;
49363e4d4bSyasuoka };
50363e4d4bSyasuoka 
51363e4d4bSyasuoka struct parse_result	*parse(int, char *[]);
52363e4d4bSyasuoka enum protocol            parse_protocol(const char *);
53363e4d4bSyasuoka 
547a7bab9dSyasuoka #endif /* _NPPPCTL_PARSER_H */
55