📄 nat_task_init.c
字号:
/* nat_task_init.c *//* Copyright 2000-2003 Wind River Systems, Inc. *//* @format.tab-size 4, @format.use-tabs true, @format.new-line lf *//*modification history--------------------01c,25apr03,myz removed rwos_task_reference_counter variable.01b,23apr03,zhu updated copyright01a,21apr03,myz start WRS modification history.missing initial modification history.*/#include "nat.h"#include <stdio.h> /* printf() prototype */#include <string.h> /* memcpy() prototype */#include <taskLib.h> /* taskSuspend() *//* // Defined in NVRAM.c// ******************// extern NVRAM_CLASS nvram;*/extern enum TEST initialize_nvram (char *cptr_file_name, ULONG location_of_ini_file, char *cptr_section_name, void *vptr_location_of_configuration_table);char nat_configuration_text[RWOS_MAXIMUM_FILE_SIZE+1]={"<uninitialized>\n"};/*// External interface.*/void nat_task_initialize(const char* p_configuration_data){ char* p_module_data; /**********************/ /* Set default values */ /**********************/ memset(&nat,0,sizeof(nat)); nat.enabled = true; nat.single_global_address_enabled = true; nat.global_address_mask = 0xffffff00; /* 255.255.255.0 */ nat.filter_non_corporate_addresses = true; nat.tcp_disconnected_timer = NAT_TCP_DISCONNECTED_TIMER; nat.tcp_connecting_timer = NAT_TCP_CONNECTING_TIMER; nat.tcp_connected_timer = NAT_TCP_CONNECTED_TIMER; nat.tcp_closing_timer = NAT_TCP_CLOSING_TIMER; nat.ip_translation_entry_timer = NAT_TRANSLATION_ENTRY_TIMER; nat.udp_translation_entry_timer = NAT_UDP_TRANSLATION_ENTRY_TIMER; nat.icmp_translation_entry_timer = NAT_ICMP_TRANSLATION_ENTRY_TIMER; nat.sequence_entry_timer = SEQUENCE_ENTRY_TIMER; nat.printing_enabled = true; nat.error_printing_enabled = true; nat.initialization_printing_enabled = true; nat.error_logging_enabled = true; nat.initialization_logging_enabled = true; nat.natg.global_address_pool_size = 8; /* 8-bits, 256 values */ nat.filter_unknown_protocols = true; /* Allocate buffer to hold copy of config data */ p_module_data = malloc (RWOS_MAXIMUM_FILE_SIZE+1); if (p_module_data == NULL) { nat_printf (NAT_PRINTF_ERROR, "nat_task_initialize(): malloc failure\n"); return; } /* // Initialize NAT configuration table. */ strcpy(p_module_data, nat_configuration_text); if (initialize_nvram(NULL, (ULONG)p_module_data,"NAT Application" ,(void*)nat_get_configuration_table_address()) == FAIL) { nat_printf (NAT_PRINTF_ERROR, "initialize_nvram failed\n"); free ((void *)p_module_data); return; } free ((void *)p_module_data); /* // Save the RwOS global mutex within the calling module. */ /* // module_class.rwos_global_instance_mutex = rwos_get_global_mutex(); */ /* // Perform NAT initialization. */ if (nat_initialize() != OK) { nat_printf (NAT_PRINTF_ERROR, "nat_initialize failed\n"); return; } nat_printf(NAT_PRINTF_INIT,"nat_task_initialize() successful.\n");}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -