📄 mn_defs.h
字号:
//-----------------------------------------------------------------------------
// mn_defs.h
//-----------------------------------------------------------------------------
// Copyright 2006 Silicon Laboratories, Inc.
//
// Description:
// This file contains type definitions used by the TCP/IP Stack.
//
// Generated by TCP/IP Configuration Wizard Version 3.1.
//
#ifndef MN_DEFS_H
#define MN_DEFS_H 1
#include "mn_stackconst.h"
//-----------------------------------------------------------------------------
// Type Definitions
//-----------------------------------------------------------------------------
//
typedef unsigned char byte;
typedef unsigned short word16;
typedef unsigned int bit_word16;
typedef signed short sign_word16;
typedef unsigned long word32;
typedef signed char SCHAR;
#define cmx_reentrant
#define cmx_const code
// Extract the low or high byte out of a word16
#define HIGHBYTE(w) ((byte)((w)>>8))
#define LOWBYTE(w) ((byte)((w)&0x00ff))
typedef union seqnum_u {
byte NUMC[4];
word16 NUMW[2];
word32 NUML;
} SEQNUM_U;
typedef word16 TIMER_TICK_T;
typedef struct timer_info_s {
TIMER_TICK_T timer_start;
TIMER_TICK_T timer_end;
byte timer_wrap;
} TIMER_INFO_T;
typedef struct socket_info_s {
word16 src_port;
word16 dest_port;
byte ip_dest_addr[IP_ADDR_LEN];
byte eth_dest_hw_addr[ETH_ADDR_LEN];
byte *send_ptr;
word16 send_len;
byte *recv_ptr;
byte *recv_end;
word16 recv_len;
byte ip_proto;
byte socket_no;
byte socket_type;
byte socket_state;
byte tcp_state;
byte tcp_resends;
byte tcp_flag;
byte recv_tcp_flag;
byte data_offset;
word16 tcp_unacked_bytes;
word16 recv_tcp_window;
SEQNUM_U RCV_NXT;
SEQNUM_U SEG_SEQ;
SEQNUM_U SEG_ACK;
SEQNUM_U SND_UNA;
TIMER_INFO_T tcp_timer;
} SOCKET_INFO_T;
typedef SOCKET_INFO_T * PSOCKET_INFO;
typedef struct vf {
byte filename[VF_NAME_LEN];
word16 page_size;
PCONST_BYTE page_ptr;
unsigned int cp2200_page_ptr;
byte * ram_page_ptr;
byte page_type; // Page type bit flags for page data control
byte in_use_flag;
} VF;
typedef VF * VF_PTR;
typedef struct temp_ssi_t {
byte *temp_ssi_ptr;
word16 num_ssi_bytes;
byte temp_cgi_buff[TEMP_CGI_BUFF_LEN];
byte in_cgi;
byte cgi_pos;
} TEMP_SSI_S;
typedef struct page_send_s {
PCONST_BYTE page_ptr;
unsigned int cp2200_page_ptr;
byte * ram_page_ptr;
word16 bytes_read;
} PAGE_SEND_T;
typedef void (*POST_FP)(PSOCKET_INFO) cmx_reentrant;
typedef struct post_funcs {
byte func_name[FUNC_NAME_LEN];
POST_FP func_ptr;
} POST_FUNCS;
typedef POST_FUNCS * PF_PTR;
typedef struct arp_info_s {
byte eth_dest_ip_addr[IP_ADDR_LEN];
byte eth_dest_hw_addr[ETH_ADDR_LEN];
word16 time_to_live;
byte flag;
} ARP_INFO_T;
//-----------------------------------------------------------------------------
// Variable Declarations
//-----------------------------------------------------------------------------
//
// These variables are declared and used by the stack and may be accessed from
// user code.
//
extern byte ip_dest_addr[];
extern byte ip_src_addr[];
extern byte null_addr[];
extern byte eth_src_hw_addr[];
extern byte eth_dest_hw_addr[];
extern byte gateway_ip_addr[];
extern byte subnet_mask[];
extern volatile bit flash_busy;
extern volatile bit ether_reset;
extern volatile bit link_status;
extern volatile bit link_lost;
extern SOCKET_INFO_T sock_info[];
extern VF_PTR http_vf_ptrs[];
extern TEMP_SSI_S temp_ssi_info[];
extern byte HTTPBuffer[];
extern PAGE_SEND_T page_send_info[];
extern byte recv_buff[];
extern byte send_buff[];
extern byte ping_reply_buff[];
extern VF vf_dir[];
extern POST_FUNCS pf[];
extern byte *URIptr;
extern byte *BODYptr;
extern cmx_const byte HTTPStatus400[];
extern ARP_INFO_T arp_info[];
#endif // MN_DEFS_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -