Return to stroke_handler.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / strongswan / src / libcharon / plugins / stroke |
1.1 misho 1: /* 2: * Copyright (C) 2012 Martin Willi 3: * Copyright (C) 2012 revosec AG 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: 16: /** 17: * @defgroup stroke_handler stroke_handler 18: * @{ @ingroup stroke 19: */ 20: 21: #ifndef STROKE_HANDLER_H_ 22: #define STROKE_HANDLER_H_ 23: 24: #include <stroke_msg.h> 25: #include <attributes/attribute_handler.h> 26: 27: typedef struct stroke_handler_t stroke_handler_t; 28: 29: /** 30: * Handler requesting DNS attributes as defined with leftdns option. 31: */ 32: struct stroke_handler_t { 33: 34: /** 35: * Implements the attribute_handler_t interface 36: */ 37: attribute_handler_t handler; 38: 39: /** 40: * Add connection specific configuration attributes. 41: * 42: * @param msg stroke message 43: */ 44: void (*add_attributes)(stroke_handler_t *this, stroke_msg_t *msg); 45: 46: /** 47: * Remove connection specific configuration attributes. 48: * 49: * @param msg stroke message 50: */ 51: void (*del_attributes)(stroke_handler_t *this, stroke_msg_t *msg); 52: 53: /** 54: * Destroy a stroke_handler_t. 55: */ 56: void (*destroy)(stroke_handler_t *this); 57: }; 58: 59: /** 60: * Create a stroke_handler instance. 61: */ 62: stroke_handler_t *stroke_handler_create(); 63: 64: #endif /** STROKE_HANDLER_H_ @}*/