summaryrefslogtreecommitdiffstats
path: root/src/main.c
diff options
context:
space:
mode:
authorVarsha Rao <rvarsha016@gmail.com>2017-07-17 13:59:07 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2017-07-17 14:26:31 +0200
commitd2b93afad7a67840d16d424b3cf5ce5255fca7ad (patch)
tree739c88495c1b33f9066bd38aa0545a88b25042f7 /src/main.c
parente0146fa254496dc12187053cd0cd6e5d20eb6a43 (diff)
src: Remove __init and __exit macro definitions.
Add nft_init and nft_exit functions, which calls _init and _exit functions in main.c file. Remove __init and __exit macro definitions as libnftables library will be created soon. Rename realm_table_init() and realm_table_exit() functions to avoid ambiguity as realm_table_rt_init(), realm_table_meta_init, realm_table_rt_exit() and realm_table_meta_exit() in rt.c and meta.c files. Signed-off-by: Varsha Rao <rvarsha016@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 36b4bbc6..1535153e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -263,6 +263,28 @@ err1:
return ret;
}
+void nft_init(void)
+{
+ mark_table_init();
+ realm_table_rt_init();
+ devgroup_table_init();
+ realm_table_meta_init();
+ ct_label_table_init();
+ gmp_init();
+#ifdef HAVE_LIBXTABLES
+ xt_init();
+#endif
+}
+
+void nft_exit(void)
+{
+ ct_label_table_exit();
+ realm_table_rt_exit();
+ devgroup_table_exit();
+ realm_table_meta_exit();
+ mark_table_exit();
+}
+
int main(int argc, char * const *argv)
{
struct parser_state state;
@@ -274,6 +296,7 @@ int main(int argc, char * const *argv)
int i, val, rc = NFT_EXIT_SUCCESS;
struct mnl_socket *nf_sock;
+ nft_init();
nf_sock = netlink_open_sock();
while (1) {
val = getopt_long(argc, argv, OPTSTRING, options, NULL);
@@ -401,6 +424,7 @@ out:
cache_release();
iface_cache_release();
netlink_close_sock(nf_sock);
+ nft_exit();
return rc;
}