CDC/ECM driver for mbed, based on USBDevice by mbed-official. Uses PicoTCP to access Ethernet USB device. License: GPLv2
Fork of USB_Ethernet by
pico_nat.h
00001 /********************************************************************* 00002 PicoTCP. Copyright (c) 2012 TASS Belgium NV. Some rights reserved. 00003 See LICENSE and COPYING for usage. 00004 00005 . 00006 00007 Authors: Kristof Roelants, Simon Maes, Brecht Van Cauwenberghe 00008 *********************************************************************/ 00009 00010 #ifndef _INCLUDE_PICO_NAT 00011 #define _INCLUDE_PICO_NAT 00012 #include "pico_frame.h" 00013 00014 #define PICO_DEL_FLAGS_FIN_FORWARD (0x8000) 00015 #define PICO_DEL_FLAGS_FIN_BACKWARD (0x4000) 00016 #define PICO_DEL_FLAGS_SYN (0x2000) 00017 #define PICO_DEL_FLAGS_RST (0x1000) 00018 00019 #define PICO_IPV4_FORWARD_DEL 0 00020 #define PICO_IPV4_FORWARD_ADD 1 00021 00022 #ifdef PICO_SUPPORT_NAT 00023 void pico_ipv4_nat_print_table(void); 00024 int pico_ipv4_nat_add(struct pico_ip4 pub_addr, uint16_t pub_port, struct pico_ip4 priv_addr, uint16_t priv_port, uint8_t proto); 00025 int pico_ipv4_nat_del(uint16_t pub_port, uint8_t proto); 00026 int pico_ipv4_nat_find(uint16_t pub_port, struct pico_ip4 *priv_addr, uint16_t priv_port, uint8_t proto); 00027 int pico_ipv4_port_forward(struct pico_ip4 pub_addr, uint16_t pub_port, struct pico_ip4 priv_addr, uint16_t priv_port, uint8_t proto, uint8_t persistant); 00028 00029 int pico_ipv4_nat(struct pico_frame* f, struct pico_ip4 pub_addr); 00030 int pico_ipv4_nat_enable(struct pico_ipv4_link *link); 00031 int pico_ipv4_nat_isenabled_out(struct pico_ipv4_link *link); 00032 int pico_ipv4_nat_isenabled_in(struct pico_frame *f); 00033 00034 #else 00035 00036 static inline int pico_ipv4_nat_isenabled_out(struct pico_ipv4_link *link) 00037 { 00038 pico_err = PICO_ERR_EPROTONOSUPPORT; 00039 return -1; 00040 } 00041 static inline int pico_ipv4_nat_isenabled_in(struct pico_frame *f) 00042 { 00043 pico_err = PICO_ERR_EPROTONOSUPPORT; 00044 return -1; 00045 } 00046 00047 static inline int pico_ipv4_nat(struct pico_frame* f, struct pico_ip4 pub_addr) 00048 { 00049 pico_err = PICO_ERR_EPROTONOSUPPORT; 00050 return -1; 00051 } 00052 00053 static inline int pico_ipv4_nat_enable(struct pico_ipv4_link *link) 00054 { 00055 pico_err = PICO_ERR_EPROTONOSUPPORT; 00056 return -1; 00057 } 00058 00059 #define pico_ipv4_nat_print_table() do{}while(0) 00060 00061 static inline int pico_ipv4_nat_add(struct pico_ip4 pub_addr, uint16_t pub_port, struct pico_ip4 priv_addr, uint16_t priv_port, uint8_t proto) 00062 { 00063 pico_err = PICO_ERR_EPROTONOSUPPORT; 00064 return -1; 00065 } 00066 00067 static inline int pico_ipv4_nat_del(uint16_t pub_port, uint8_t proto) 00068 { 00069 pico_err = PICO_ERR_EPROTONOSUPPORT; 00070 return -1; 00071 } 00072 00073 00074 static inline int pico_ipv4_nat_find(uint16_t pub_port, struct pico_ip4 priv_addr, uint16_t priv_port, uint8_t proto) 00075 { 00076 pico_err = PICO_ERR_EPROTONOSUPPORT; 00077 return -1; 00078 } 00079 00080 static inline int pico_ipv4_port_forward(struct pico_ip4 pub_addr, uint16_t pub_port, struct pico_ip4 priv_addr, uint16_t priv_port, uint8_t proto, uint8_t persistant) 00081 { 00082 pico_err = PICO_ERR_EPROTONOSUPPORT; 00083 return -1; 00084 } 00085 #endif 00086 00087 #endif /* _INCLUDE_PICO_NAT */ 00088
Generated on Wed Jul 13 2022 02:20:45 by 1.7.2