Return to vici_config.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / strongswan / src / libcharon / plugins / vici |
1.1 misho 1: /* 2: * Copyright (C) 2014 Martin Willi 3: * Copyright (C) 2014 revosec AG 4: * 5: * Copyright (C) 2015 Andreas Steffen 6: * HSR Hochschule fuer Technik Rapperswil 7: * 8: * This program is free software; you can redistribute it and/or modify it 9: * under the terms of the GNU General Public License as published by the 10: * Free Software Foundation; either version 2 of the License, or (at your 11: * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>. 12: * 13: * This program is distributed in the hope that it will be useful, but 14: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 15: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 16: * for more details. 17: */ 18: 19: /** 20: * @defgroup vici_config vici_config 21: * @{ @ingroup vici 22: */ 23: 24: #ifndef VICI_CONFIG_H_ 25: #define VICI_CONFIG_H_ 26: 27: #include "vici_dispatcher.h" 28: #include "vici_authority.h" 29: #include "vici_cred.h" 30: 31: #include <config/backend.h> 32: 33: typedef struct vici_config_t vici_config_t; 34: 35: /** 36: * In-memory configuration backend, managed by VICI. 37: */ 38: struct vici_config_t { 39: 40: /** 41: * Implements a configuration backend. 42: */ 43: backend_t backend; 44: 45: /** 46: * Destroy a vici_config_t. 47: */ 48: void (*destroy)(vici_config_t *this); 49: }; 50: /** 51: * Create a vici_config instance. 52: * 53: * @param dispatcher dispatcher to receive requests from 54: * @param authority Auxiliary certification authority information 55: * @param cred in-memory credential backend managed by VICI 56: * @return config backend 57: */ 58: vici_config_t *vici_config_create(vici_dispatcher_t *dispatcher, 59: vici_authority_t *authority, 60: vici_cred_t *cred); 61: 62: #endif /** VICI_CONFIG_H_ @}*/