updated Doxyfile
[strongswan.git] / src / charon / plugins / eap_gtc / eap_gtc.h
1 /*
2 * Copyright (C) 2008 Martin Willi
3 * Hochschule fuer Technik Rapperswil
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * for more details.
14 *
15 * $Id: eap_gtc.h 3589 2008-03-13 14:14:44Z martin $
16 */
17
18 /**
19 * @defgroup eap_gtc_i eap_gtc
20 * @{ @ingroup eap_gtc
21 */
22
23 #ifndef EAP_GTC_H_
24 #define EAP_GTC_H_
25
26 typedef struct eap_gtc_t eap_gtc_t;
27
28 #include <sa/authenticators/eap/eap_method.h>
29
30 /**
31 * Implementation of the eap_method_t interface using EAP-GTC.
32 *
33 * This implementation of draft-sheffer-ikev2-gtc-00.txt uses PAM to
34 * verify user credentials.
35 */
36 struct eap_gtc_t {
37
38 /**
39 * Implemented eap_method_t interface.
40 */
41 eap_method_t eap_method_interface;
42 };
43
44 /**
45 * Creates the EAP method EAP-GTC acting as server.
46 *
47 * @param server ID of the EAP server
48 * @param peer ID of the EAP client
49 * @return eap_gtc_t object
50 */
51 eap_gtc_t *eap_gtc_create_server(identification_t *server, identification_t *peer);
52
53 /**
54 * Creates the EAP method EAP-GTC acting as peer.
55 *
56 * @param server ID of the EAP server
57 * @param peer ID of the EAP client
58 * @return eap_gtc_t object
59 */
60 eap_gtc_t *eap_gtc_create_peer(identification_t *server, identification_t *peer);
61
62 #endif /** EAP_GTC_H_ @}*/