2 * Copyright (C) 2012 Martin Willi
3 * Copyright (C) 2012 revosec AG
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>.
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
17 * @defgroup updown_handler updown_handler
21 #ifndef UPDOWN_HANDLER_H_
22 #define UPDOWN_HANDLER_H_
24 #include <attributes/attribute_handler.h>
26 typedef struct updown_handler_t updown_handler_t
;
29 * Handler storing configuration attributes to pass to updown script.
31 struct updown_handler_t
{
34 * Implements the attribute_handler_t interface
36 attribute_handler_t handler
;
39 * Create an enumerator over received DNS servers.
41 * @param id unique IKE_SA identifier to get attributes for
42 * @return enumerator over host_t*
44 enumerator_t
* (*create_dns_enumerator
)(updown_handler_t
*this, u_int id
);
47 * Destroy a updown_handler_t.
49 void (*destroy
)(updown_handler_t
*this);
53 * Create a updown_handler instance.
55 updown_handler_t
*updown_handler_create();
57 #endif /** UPDOWN_HANDLER_H_ @}*/