load xauth module via dlopen()
[strongswan.git] / src / pluto / xauth.h
1 /* Interface definition of the XAUTH server and|or client module
2 * Copyright (C) 2006 Andreas Steffen
3 * Hochschule fuer Technik Rapperswil, Switzerland
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 * RCSID $Id: xauth.h,v 1.1 2005/01/06 22:10:15 as Exp $
16 */
17
18 #ifndef _XAUTH_H
19 #define _XAUTH_H
20
21 /* XAUTH credentials */
22
23 struct chunk_t;
24
25 typedef struct {
26 chunk_t user_name;
27 chunk_t user_password;
28 } xauth_t;
29
30 typedef struct {
31 void *handle;
32 bool (*get_secret) (const xauth_t *xauth_secret);
33 bool (*verify_secret) (const xauth_t *xauth_secret);
34 } xauth_module_t;
35
36 extern xauth_module_t xauth_module;
37
38 extern void xauth_init(void);
39 extern void xauth_finalize(void);
40
41 #endif /* _XAUTH_H */