?? 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;
typedef struct smtp_info_s {
byte *from;
byte *to;
byte *subject;
byte *message;
byte *attachment;
byte *filename; // For attachment
} SMTP_INFO_T;
typedef SMTP_INFO_T * PSMTP_INFO;
typedef struct dhcp_s
{
byte op; // opcode, request or reply
byte htype; // hardware type
byte hlen; // hardware address length
byte hops; // always zero for clients
byte xid[4]; // random transaction ID
byte secs[2]; // seconds elapsed since trying to boot
byte flag[2]; // broadcast flag
byte ciaddr[IP_ADDR_LEN]; // client IP address submitted
byte yiaddr[IP_ADDR_LEN]; // client IP address returned by server
byte siaddr[IP_ADDR_LEN]; // server IP address returned by server
byte giaddr[IP_ADDR_LEN]; // optional gateway IP address
byte chaddr[DHCP_MAC_LEN]; // client hardware address
byte sname[DHCP_SNAME_LEN]; // optional server host name
byte file[DHCP_FILE_LEN]; // boot file name
byte options[DHCP_OPT_LEN]; // options
} DHCP_INFO_T;
typedef struct dhcp_lease_s
{
word32 org_lease_time; // last requested lease time
volatile word32 lease_time; // seconds left in current lease
word32 t1_renew_time; // time to make renew request
word32 t2_renew_time; // time to make rebind request
volatile byte dhcp_state; // current dhcp state
byte infinite_lease; // infinite lease TRUE or FALSE
byte server_id[DHCP_SERVER_ID_LEN]; // DHCP server IP address
} DHCP_LEASE_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 ip_smtp_addr[];
extern byte ip_dns_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 PAGE_SEND_T page_send_info[];
extern byte recv_buff[];
extern byte send_buff[];
extern byte ping_reply_buff[];
extern byte SMTPBuffer[];
extern VF vf_dir[];
extern ARP_INFO_T arp_info[];
extern SCHAR bootpMode;
extern DHCP_INFO_T dhcp_info;
extern DHCP_LEASE_T dhcp_lease;
#endif // MN_DEFS_H
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -