taskrambler  0.1.9
Web server and task management solution.
auth/interface/auth.h
Go to the documentation of this file.
1 /**
2  * \file
3  * The authentication interface.
4  *
5  * This is the authentication interface. It's only pupose is to
6  * authenticate someone or somewhat. It is called AUTH.
7  * The concrete access rights are managed within a class called ACL.
8  *
9  * \author Georg Hopp
10  *
11  * \copyright
12  * Copyright © 2012 Georg Hopp
13  *
14  * This program is free software: you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License as published by
16  * the Free Software Foundation, either version 3 of the License, or
17  * (at your option) any later version.
18  *
19  * This program is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22  * GNU General Public License for more details.
23  *
24  * You should have received a copy of the GNU General Public License
25  * along with this program. If not, see <http://www.gnu.org/licenses/>.
26  */
27 
28 #ifndef __AUTH_INTERFACE_AUTH_H__
29 #define __AUTH_INTERFACE_AUTH_H__
30 
31 #include <stdarg.h>
32 
33 #include "class.h"
34 #include "uuid.h"
35 #include "auth/credential.h"
36 
37 typedef int (* fptr_authenticate)(void *, Credential, Uuid);
38 
39 extern const struct interface i_Auth;
40 
41 struct i_Auth {
42  const struct interface * const _;
44 };
45 
46 extern int authenticate(void *, Credential, Uuid);
47 
48 #endif // __AUTH_INTERFACE_AUTH_H__
49 
50 // vim: set ts=4 sw=4:
int authenticate(void *, Credential, Uuid)
int(* fptr_authenticate)(void *, Credential, Uuid)
const struct interface *const _
fptr_authenticate authenticate