eurephia.h
1 /* eurephia.h -- Main API for the eurephia authentication module 2 * 3 * GPLv2 only - Copyright (C) 2008 - 2013 4 * David Sommerseth <dazo@users.sourceforge.net> 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; version 2 9 * of the License. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 * 20 */ 21 22 /** 23 * @file eurephia.h 24 * @author David Sommerseth <dazo@users.sourceforge.net> 25 * @date 2008-08-06 26 * 27 * @brief The core eurephia functions which is called from OpenVPN. 28 * 29 */ 30 31 #ifndef EUREPHIA_H_ 32 #define EUREPHIA_H_ 33 34 #include <stdarg.h> 35 36 char *get_env(eurephiaCTX *ctx, int logmasking, size_t len, const char *envp[], 37 const char *fmt, ... ); 38 39 eurephiaCTX *eurephiaInit(const char const **argv, const char const **envp, 40 struct openvpn_plugin_callbacks const *ovpn_callbacks); 41 int eurephiaShutdown(eurephiaCTX *ctx); 42 43 int eurephia_tlsverify(eurephiaCTX *ctx, const char **argv, const char *depth, certinfo *ci); 44 int eurephia_userauth(eurephiaCTX *ctx, const char **env, certinfo *ci); 45 int eurephia_connect(eurephiaCTX *ctx, const char **env, certinfo *ci); 46 int eurephia_disconnect(eurephiaCTX *ctx, const char **env, certinfo *ci); 47 int eurephia_learn_address(eurephiaCTX *ctx, const char *mode, const char *macaddr, 48 const char **env, certinfo *ci); 49 50 #endif /* !EUREPHIA_H_ */