114 lines
3.8 KiB
C
114 lines
3.8 KiB
C
/***********************************************************************************
|
|
*file: lwip_customer.h
|
|
*descrition: declare for lwip_customer
|
|
***********************************************************************************/
|
|
#ifndef __LWIP_CUSTOMER_H__
|
|
#define __LWIP_CUSTOMER_H__
|
|
|
|
#include "lwipopts.h"
|
|
#include "ip4.h"
|
|
#include "tcp_impl.h"
|
|
#include "quec_cust_feature.h"
|
|
|
|
/****************************************************************
|
|
*function macro switch define
|
|
****************************************************************/
|
|
/*function switch macro
|
|
* if set to 1: enable module
|
|
* if set to 0: disable module, and not compiler .c code.
|
|
*/
|
|
#define LWIP_PING_APP (1)
|
|
#if defined(CRANE_MCU_DONGLE) || defined(CRANE_MODULE_SUPPORT)
|
|
#define LWIP_FTP_CLIENT (1)
|
|
#else
|
|
#define LWIP_FTP_CLIENT (0)
|
|
#endif
|
|
|
|
#if defined(LTEONLY_THIN) || defined(CRANEL_FP_8MRAM) || defined(LTEGSM_THIN)
|
|
#undef LWIP_PING_APP
|
|
#undef LWIP_FTP_CLIENT
|
|
#define LWIP_PING_APP (0)
|
|
#ifdef QUEC_NOFTP
|
|
#define LWIP_FTP_CLIENT (0)
|
|
#else
|
|
#define LWIP_FTP_CLIENT (1)
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef ETHTYPE_IPV6
|
|
#define ETHTYPE_IPV6 0x86DU
|
|
#endif
|
|
|
|
/****************************************************************
|
|
*Macro define
|
|
*****************************************************************/
|
|
enum lwip_rate_control_status_e
|
|
{
|
|
RATE_CONTROL_STATUS_FIRST,
|
|
RATE_CONTROL_STATUS_SEND,
|
|
RATE_CONTROL_STATUS_DROP,
|
|
RATE_CONTROL_STATUS_END
|
|
};
|
|
|
|
/****************************************************************
|
|
*structure define
|
|
*****************************************************************/
|
|
typedef struct{
|
|
/* defined in lwipopts.h
|
|
#define LWIP_DL_DIRECTION (0)
|
|
#define LWIP_UL_DIRECTION (1)
|
|
*/
|
|
u32_t direction;
|
|
|
|
/* defined in etharp.h
|
|
#define ETHTYPE_ARP 0x0806U //ethernet packet
|
|
#define ETHTYPE_IP 0x0800U //IPv4 packet
|
|
#define ETHTYPE_IPV6 0x86DDU //IPv6 packet
|
|
*/
|
|
u16_t protocal; /* kinds of protocal, payload header type changed*/
|
|
u16_t payloadlen; /* payload length */
|
|
void * payload; /* payload pointer */
|
|
|
|
char * netifname; /* netif host name */
|
|
} lwip_ip_packet_info;
|
|
|
|
typedef struct
|
|
{
|
|
u8_t ctlFlg; /*0: disable; 1: enalbel; default disable*/
|
|
u8_t status; /*refer to lwip_rate_control_status_e define*/
|
|
u8_t proto; /*UDP: 17; TCP: 6*/
|
|
u8_t period; /*rate evalulate period, defaul is 1s*/
|
|
u32_t maxRate; /*bytes per period , if period set to 1s, Bps set*/
|
|
u32_t tickStart;
|
|
u32_t sendBytes;
|
|
u32_t dropBytes;
|
|
}lwip_rate_control_t;
|
|
|
|
/****************************************************************
|
|
*Global Var declare
|
|
*****************************************************************/
|
|
|
|
|
|
/****************************************************************
|
|
*function declare
|
|
*****************************************************************/
|
|
void lwip_server_init_defined_minis(void);
|
|
void lwip_packet_to_modem(int cid, int ip_type, int length);
|
|
void lwip_packet_from_modem(int cid, int ip_type, int length);
|
|
void lwip_parameters_customer_defined(void);
|
|
void lwip_netifapi_customer_defined(void);
|
|
void lwip_server_init_defined(void);
|
|
int lwip_mac_filter_forward_chain(char *mac_addr, struct pbuf *p, unsigned char direction);
|
|
int lwip_tcp_wan_access_defined(struct netif *inp, struct tcp_hdr *tcphdr);
|
|
int lwip_platform_mode_defined(int *mode);
|
|
int lwip_dnsr_hijack_defined(char* nameQuery);
|
|
int lwip_hook_packet_captuer(lwip_ip_packet_info * ip_info);
|
|
int lwip_hook_nat_persistant_port(u16_t port);
|
|
int lwip_hook_rate_control_process(int direction, int proto, u16_t plen, struct netif * inp);
|
|
void lwip_hook_for_tcpip_thread(void);
|
|
int lwip_lte_require_check_defined(void);
|
|
|
|
#endif
|
|
|
|
|