⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mn_defs.h

📁 本程序是基于C语言开发的
💻 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 + -