Electroneum
Toggle main menu visibility
Loading...
Searching...
No Matches
ipsecmod.h
Go to the documentation of this file.
1
/*
2
* ipsecmod/ipsecmod.h - facilitate opportunistic IPsec module
3
*
4
* Copyright (c) 2017, NLnet Labs. All rights reserved.
5
*
6
* This software is open source.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* Redistributions of source code must retain the above copyright notice,
13
* this list of conditions and the following disclaimer.
14
*
15
* Redistributions in binary form must reproduce the above copyright notice,
16
* this list of conditions and the following disclaimer in the documentation
17
* and/or other materials provided with the distribution.
18
*
19
* Neither the name of the NLNET LABS nor the names of its contributors may
20
* be used to endorse or promote products derived from this software without
21
* specific prior written permission.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
29
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
*/
35
43
44
#ifndef IPSECMOD_H
45
#define IPSECMOD_H
46
#include "
util/module.h
"
47
#include "
util/rbtree.h
"
48
53
struct
ipsecmod_env
{
55
rbtree_type
*
whitelist
;
56
};
57
61
struct
ipsecmod_qstate
{
65
int
enabled
;
68
int
is_whitelisted
;
71
struct
ub_packed_rrset_key
*
ipseckey_rrset
;
73
int
ipseckey_done
;
74
};
75
77
int
ipsecmod_init
(
struct
module_env
* env,
int
id
);
79
void
ipsecmod_deinit
(
struct
module_env
* env,
int
id
);
81
void
ipsecmod_operate
(
struct
module_qstate
* qstate,
enum
module_ev
event,
82
int
id
,
struct
outbound_entry
* outbound);
84
void
ipsecmod_inform_super
(
struct
module_qstate
* qstate,
int
id
,
85
struct
module_qstate
* super);
87
void
ipsecmod_clear
(
struct
module_qstate
* qstate,
int
id
);
89
size_t
ipsecmod_get_mem
(
struct
module_env
* env,
int
id
);
90
95
struct
module_func_block
*
ipsecmod_get_funcblock
(
void
);
96
97
#endif
/* IPSECMOD_H */
ipsecmod_get_funcblock
struct module_func_block * ipsecmod_get_funcblock(void)
ipsecmod_operate
void ipsecmod_operate(struct module_qstate *qstate, enum module_ev event, int id, struct outbound_entry *outbound)
ipsecmod_get_mem
size_t ipsecmod_get_mem(struct module_env *env, int id)
ipsecmod_init
int ipsecmod_init(struct module_env *env, int id)
ipsecmod_deinit
void ipsecmod_deinit(struct module_env *env, int id)
ipsecmod_clear
void ipsecmod_clear(struct module_qstate *qstate, int id)
ipsecmod_inform_super
void ipsecmod_inform_super(struct module_qstate *qstate, int id, struct module_qstate *super)
module.h
module_ev
module_ev
Definition
module.h:536
rbtree.h
ipsecmod_env
Definition
ipsecmod.h:53
ipsecmod_env::whitelist
rbtree_type * whitelist
Definition
ipsecmod.h:55
ipsecmod_qstate
Definition
ipsecmod.h:61
ipsecmod_qstate::enabled
int enabled
Definition
ipsecmod.h:65
ipsecmod_qstate::ipseckey_rrset
struct ub_packed_rrset_key * ipseckey_rrset
Definition
ipsecmod.h:71
ipsecmod_qstate::is_whitelisted
int is_whitelisted
Definition
ipsecmod.h:68
ipsecmod_qstate::ipseckey_done
int ipseckey_done
Definition
ipsecmod.h:73
module_env
Definition
module.h:307
module_func_block
Definition
module.h:642
module_qstate
Definition
module.h:571
outbound_entry
Definition
outbound_list.h:61
rbtree_type
Definition
rbtree.h:76
ub_packed_rrset_key
Definition
packed_rrset.h:107
external
unbound
ipsecmod
ipsecmod.h
Generated on
for Electroneum by
1.17.0