1/* 2 * Copyright (c) 2012, 2015, The Linux Foundation. All rights reserved. 3 * Permission to use, copy, modify, and/or distribute this software for 4 * any purpose with or without fee is hereby granted, provided that the 5 * above copyright notice and this permission notice appear in all copies. 6 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 7 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 8 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 9 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 11 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 12 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 13 */ 14 15 16#ifndef _NAT_HELPER_H 17#define _NAT_HELPER_H 18 19#include "sw.h" 20 21#define NAPT_TABLE_SIZE 1024 22 23void host_helper_init(void); 24void host_helper_exit(void); 25void napt_helper_init(void); 26void napt_helper_exit(void); 27void nat_ipt_helper_init(void); 28void nat_ipt_helper_exit(void); 29 30void nat_helper_bg_task_init(void); 31void nat_helper_bg_task_exit(void); 32 33void hnat_log_msg(int level, char *string, ...); 34#define NAT_LOG_MAX_SIZE 1024 35enum { 36 HNAT_LOG_LEVEL_DEBUG = 0, 37 HNAT_LOG_LEVEL_INFO, 38 HNAT_LOG_LEVEL_ERR, 39 HNAT_LOG_LEVEL_DISABLE 40}; 41#define HNAT_PRINTK(arg...) \ 42 hnat_log_msg(HNAT_LOG_LEVEL_DEBUG, arg) 43#define HNAT_INFO_PRINTK(arg...) \ 44 hnat_log_msg(HNAT_LOG_LEVEL_INFO, arg) 45#define HNAT_ERR_PRINTK(arg...) \ 46 hnat_log_msg(HNAT_LOG_LEVEL_ERR, arg) 47 48 49#endif 50