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

📄 fs.i

📁 凌阳单片机之以太网通讯模组模组
💻 I
📖 第 1 页 / 共 3 页
字号:




 



























 
struct tcp_hdr {
   u16_t src  __attribute__((packed)) ;
   u16_t dest  __attribute__((packed)) ;
   u32_t seqno  __attribute__((packed)) ;
   u32_t ackno  __attribute__((packed)) ;
   u16_t _offset_flags  __attribute__((packed)) ;
   u16_t wnd  __attribute__((packed)) ;
   u16_t chksum  __attribute__((packed)) ;
   u16_t urgp  __attribute__((packed)) ;
} __attribute__((packed)) ;
 













enum tcp_state {
  CLOSED      = 0,
  LISTEN      = 1,
  SYN_SENT    = 2,
  SYN_RCVD    = 3,
  ESTABLISHED = 4,
  FIN_WAIT_1  = 5,
  FIN_WAIT_2  = 6,
  CLOSE_WAIT  = 7,
  CLOSING     = 8,
  LAST_ACK    = 9,
  TIME_WAIT   = 10
};


 
struct tcp_pcb {
  struct tcp_pcb *next;    
  u8_t prio;
  void *callback_arg;

  struct ip_addr local_ip;
  u16_t local_port;
  enum tcp_state state;    
  
  struct ip_addr remote_ip;
  u16_t remote_port;
  
   
  u32_t rcv_nxt;    
  u16_t rcv_wnd;    
  
   
  u32_t tmr;
  u8_t polltmr, pollinterval;
  
   
  u16_t rtime;
  
  u16_t mss;    

  u8_t flags;






  
   
  u16_t rttest;  
  u32_t rtseq;   
  s16_t sa, sv;

  u16_t rto;     
  u8_t nrtx;     

   
  u32_t lastack;  
  u8_t dupacks;
  
   
  u16_t cwnd;  
  u16_t ssthresh;

   
  u32_t snd_nxt,        
    snd_max,        
    snd_wnd,        
    snd_wl1, snd_wl2,  

    snd_lbb;        

  u16_t acked;
  
  u16_t snd_buf;    
  u8_t snd_queuelen;  
  
  
   
  struct tcp_seg *unsent;    
  struct tcp_seg *unacked;   

  struct tcp_seg *ooseq;     



   
  err_t (* sent)(void *arg, struct tcp_pcb *pcb, u16_t space);
  
   
  err_t (* recv)(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err);

   
  err_t (* connected)(void *arg, struct tcp_pcb *pcb, err_t err);

   
  err_t (* accept)(void *arg, struct tcp_pcb *newpcb, err_t err);

   
  err_t (* poll)(void *arg, struct tcp_pcb *pcb);

   
  void (* errf)(void *arg, err_t err);

};

struct tcp_pcb_listen {  
  struct tcp_pcb_listen *next;    
  u8_t prio;
  void *callback_arg;
  
  struct ip_addr local_ip;
  u16_t local_port; 
   


 
  enum tcp_state state;    


   
  err_t (* accept)(void *arg, struct tcp_pcb *newpcb, err_t err);

};

# 335 "..\\unip\\include\\lwip\\tcp.h"






















 
struct tcp_seg {
  struct tcp_seg *next;     
  struct pbuf *p;           
  void *dataptr;            
  u16_t len;                
  struct tcp_hdr *tcphdr;   
};

 
struct tcp_pcb *tcp_pcb_copy(struct tcp_pcb *pcb);
void tcp_pcb_purge(struct tcp_pcb *pcb);
void tcp_pcb_remove(struct tcp_pcb **pcblist, struct tcp_pcb *pcb);

u8_t tcp_segs_free(struct tcp_seg *seg);
u8_t tcp_seg_free(struct tcp_seg *seg);
struct tcp_seg *tcp_seg_copy(struct tcp_seg *seg);












err_t tcp_send_ctrl(struct tcp_pcb *pcb, u8_t flags);
err_t tcp_enqueue(struct tcp_pcb *pcb, void *dataptr, u16_t len,
		u8_t flags, u8_t copy,
                u8_t *optdata, u8_t optlen);

void tcp_rexmit_seg(struct tcp_pcb *pcb, struct tcp_seg *seg);

void tcp_rst(u32_t seqno, u32_t ackno,
	     struct ip_addr *local_ip, struct ip_addr *remote_ip,
	     u16_t local_port, u16_t remote_port);

u32_t tcp_next_iss(void);

extern struct tcp_pcb *tcp_input_pcb;
extern u32_t tcp_ticks;

















 
extern struct tcp_pcb_listen *tcp_listen_pcbs;   
extern struct tcp_pcb *tcp_active_pcbs;   


extern struct tcp_pcb *tcp_tw_pcbs;       

extern struct tcp_pcb *tcp_tmp_pcb;       

 






 

# 467 "..\\unip\\include\\lwip\\tcp.h"







# 484 "..\\unip\\include\\lwip\\tcp.h"


extern  u16_t tcp_mss  ;
extern  u16_t tcp_window  ;
extern  u16_t tcp_maxrtx  ;
extern  u16_t tcp_synmaxrtx  ;





# 59 "..\\unip\\include\\lwipopts.h" 2

# 1 "..\\unip\\include\\lwip\\udp.h" 1
 











































struct udp_hdr {
   u16_t src  __attribute__((packed)) ;
   u16_t dest  __attribute__((packed)) ;   
   u16_t len  __attribute__((packed)) ;
   u16_t chksum  __attribute__((packed)) ;
} __attribute__((packed)) ;





struct udp_pcb {
  struct udp_pcb *next;

  struct ip_addr local_ip, remote_ip;
  u16_t local_port, remote_port;
  
  u8_t flags;
  u16_t chksum_len;
  
  void (* recv)(void *arg, struct udp_pcb *pcb, struct pbuf *p,
		struct ip_addr *addr, u16_t port);
  void *recv_arg;  
};

 

struct udp_pcb * udp_new        (void);
void             udp_remove     (struct udp_pcb *pcb);
err_t            udp_bind       (struct udp_pcb *pcb, struct ip_addr *ipaddr,
                 u16_t port);
err_t            udp_connect    (struct udp_pcb *pcb, struct ip_addr *ipaddr,
                 u16_t port);
void             udp_disconnect    (struct udp_pcb *pcb);
void             udp_recv       (struct udp_pcb *pcb,
				 void (* recv)(void *arg, struct udp_pcb *upcb,
					       struct pbuf *p,
					       struct ip_addr *addr,
					       u16_t port),
				 void *recv_arg);
err_t            udp_send       (struct udp_pcb *pcb, struct pbuf *p);





 
u8_t             udp_lookup     (struct ip_hdr *iphdr, struct netif *inp);
void             udp_input      (struct pbuf *p, struct netif *inp);
void             udp_init       (void);





# 60 "..\\unip\\include\\lwipopts.h" 2




# 1 "..\\unip\\include\\lwip\\memp.h" 1
 




































typedef enum {
  MEMP_PBUF,




  MEMP_TCP_PCB,
  MEMP_TCP_PCB_LISTEN,
  MEMP_TCP_SEG,









  MEMP_MAX
} memp_t;

struct memp {
  struct memp *next;
};

void memp_init(void);

void *memp_malloc(memp_t type);
void *memp_realloc(memp_t fromtype, memp_t totype, void *mem);
void memp_free(memp_t type, void *mem);

void *memp_mallocp(memp_t type);
void memp_freep(memp_t type, void *mem);



# 93 "..\\unip\\include\\lwip\\memp.h"

extern u16_t memp_num[];
















extern  u8_t memp_memory [] ;
# 146 "..\\unip\\include\\lwip\\memp.h"
					
					
extern  pbuf_num  ;
extern  udp_num  ;
extern  tcp_num  ;
extern  ltcp_num  ;
extern  tcp_seg_num  ;




	  
# 64 "..\\unip\\include\\lwipopts.h" 2

# 1 "..\\unip\\include\\lwip\\stats.h" 1
 









































struct stats_proto {
  u16_t xmit;     
  u16_t rexmit;   
  u16_t recv;     
  


  u16_t drop;     
  u16_t chkerr;   
  u16_t lenerr;   
  u16_t memerr;   
  u16_t rterr;    
  u16_t proterr;  
  u16_t opterr;   
  u16_t err;      
  


};

struct stats_mem {
  mem_size_t avail;
  mem_size_t used;
  mem_size_t max;  
  mem_size_t err;
};

struct stats_pbuf {
  u16_t avail;
  u16_t used;
  u16_t max;  
  u16_t err;
  u16_t alloc_locked;
  u16_t refresh_locked;
};

struct stats_syselem {
  u16_t used;
  u16_t max;
  u16_t err;
};

struct stats_sys {
  struct stats_syselem sem;
  struct stats_syselem mbox;
};

# 115 "..\\unip\\include\\lwip\\stats.h"


struct stats_ {
  


  
  


  
  



  struct stats_proto icmp;
  
  


  
  
  struct stats_proto tcp;
  
  struct stats_pbuf pbuf;
  struct stats_mem mem;
  struct stats_mem memp[MEMP_MAX];
  



};

 
extern  struct stats_ lwip_stats  ;
 

void stats_init(void);









# 65 "..\\unip\\include\\lwipopts.h" 2



# 1 "..\\unip\\include\\netif\\etharp.h" 1
 










































 
struct eth_addr {
  
 u16_t addr[3];
} __attribute__((packed)) ;
 

 
struct eth_hdr {
   struct eth_addr dest  __attribute__((packed)) ;
   struct eth_addr src  __attribute__((packed)) ;
   u16_t type  __attribute__((packed)) ;
} __attribute__((packed)) ;
 

 
 
struct etharp_hdr {
   struct eth_hdr ethhdr  __attribute__((packed)) ;
   u16_t hwtype  __attribute__((packed)) ;
   u16_t proto  __attribute__((packed)) ;
   u16_t _hwlen_protolen  __attribute__((packed)) ;
   u16_t opcode  __attribute__((packed)) ;
   struct eth_addr shwaddr  __attribute__((packed)) ;
   struct ip_addr sipaddr  __attribute__((packed)) ;
   struct eth_addr dhwaddr  __attribute__((packed)) ;
   struct ip_addr dipaddr  __attribute__((packed)) ;
} __attribute__((packed)) ;
 

 
struct ethip_hdr {
   struct eth_hdr eth  __attribute__((packed)) ;
   struct ip_hdr ip  __attribute__((packed)) ;
};









enum etharp_state {
  ETHARP_STATE_EMPTY,
  ETHARP_STATE_PENDING,
  ETHARP_STATE_STABLE
};

struct etharp_entry {
  struct ip_addr ipaddr;
  struct eth_addr ethaddr;
  enum etharp_state state;
 
  struct pbuf *p;
 
  u8_t ctime;
};

void etharp_init(void);
void etharp_tmr(void);
struct pbuf *etharp_ip_input(struct netif *netif, struct pbuf *p);
struct pbuf *etharp_arp_input(struct netif *netif, struct eth_addr *ethaddr,
			   struct pbuf *p);
struct pbuf *etharp_output(struct netif *netif, struct ip_addr *ipaddr,
			   struct pbuf *q);
err_t etharp_query(struct netif *netif, struct ip_addr *ipaddr, struct pbuf *q);
struct eth_addr * etharp_lookup(struct ip_addr *ipaddr);


extern  struct etharp_entry arp_table [] ;
extern  u16_t arp_num  ;



# 68 "..\\unip\\include\\lwipopts.h" 2





# 1 "..\\unip\\include\\unsp\\include\\ethernet.h" 1
 
err_t ethernetif_init(struct netif *netif);
void etharp_timer(void *arg);
# 73 "..\\unip\\include\\lwipopts.h" 2




# 21 "..\\code\\include\\config.h" 2















# 33 "G:/\301\350\321\364\265\245\306\254\273\372/\320\302\275\250\316\304\274\376\274\320/9.\304\243\327\351\327\312\301\317/\322\324\314\253\315\370\315\250\321\266\304\243\327\351/\322\324\314\253\315\370DemoCode/DemoCode/code/fs.c" 2

# 1 "..\\code\\include\\fs.h" 1
 

































struct fs_file {
  unsigned int *data;
  int len;
};




 

int fs_open(char *name, struct fs_file *file);


# 34 "G:/\301\350\321\364\265\245\306\254\273\372/\320\302\275\250\316\304\274\376\274\320/9.\304\243\327\351\327\312\301\317/\322\324\314\253\315\370\315\250\321\266\304\243\327\351/\322\324\314\253\315\370DemoCode/DemoCode/code/fs.c" 2

# 1 "..\\code\\include\\fsdata.h" 1
 

































struct fsdata_file {
  const struct fsdata_file *next;
  const unsigned char *name;
  const unsigned int *data;
  const int len;
};

struct fsdata_file_noconst {
  struct fsdata_file *next;
  unsigned char *name;
  unsigned int *data;
  int len;
};


# 35 "G:/\301\350\321\364\265\245\306\254\273\372/\320\302\275\250\316\304\274\376\274\320/9.\304\243\327\351\327\312\301\317/\322\324\314\253\315\370\315\250\321\266\304\243\327\351/\322\324\314\253\315\370DemoCode/DemoCode/code/fs.c" 2

# 1 "G:\\\301\350\321\364\265\245\306\254\273\372\\\320\302\275\250\316\304\274\376\274\320\\9.\304\243\327\351\327\312\301\317\\\322\324\314\253\315\370\315\250\321\266\304\243\327\351\\\322\324\314\253\315\370DemoCode\\DemoCode\\code\\fsdata.c" 1
static const  unsigned int data_404_htm[] = {
	 
	0x2f,0x34,0x30,0x34,0x2e,0x68,0x74,0x6d,0x0000,
	0x5448, 0x5054, 0x312f, 0x302e, 0x3420, 0x3430, 0x4620, 0x6c69, 0x2065, 0x6f6e, 
	0x2074, 0x6f66, 0x6e75, 0xd64, 0x430a, 0x6e6f, 0x6574, 0x746e, 0x742d, 0x7079, 
	0x3a65, 0x7420, 0x7865, 0x2f74, 0x7468, 0x6c6d, 0xa0d, 0xa0d, 0xa0d, };

static const  unsigned int data_err_htm[] = {
	 
	0x2f,0x65,0x72,0x72,0x2e,0x68,0x74,0x6d,0x0000,
	0x5448, 0x5054, 0x312f, 0x302e, 0x3220, 0x3030, 0x4f20, 0xd4b, 0x430a, 0x6e6f, 
	0x6574, 0x746e, 0x742d, 0x7079, 0x3a65, 0x7420, 0x7865, 0x2f74, 0x7468, 0x6c6d, 
	0xa0d, 0xa0d, 0x683c, 0x6d74, 0x3e6c, 0xa0d, 0x683c, 0x6165, 0x3e64, 0xa0d, 
	0x743c, 0x7469, 0x656c, 0x3c3e, 0x742f, 0x7469, 0x656c, 0xd3e, 0x3c0a, 0x682f, 
	0x6165, 0x3e64, 0xa0d, 0x623c, 0x646f, 0x3e79, 0xa0d, 0x703c, 0x3c3e, 0x6f66, 
	0x746e, 0x7320, 0x7a69, 0x3d65, 0x3622, 0x3e22, 0xdcc3, 0xebc2, 0xedb4, 0xf3ce, 
	0xa1a3, 0x2f3c, 0x6f66, 0x746e, 0x3c3e, 0x702f, 0x3c3e, 0x7262, 0xd3e, 0x3c0a, 
	0x6f66, 0x746e, 0x7320, 0x7a69, 0x3d65, 0x3622, 0x2022, 0x6166, 0x6563, 0x223d, 
	0xa5c1, 0xe9ca, 0x2022, 0x3c3e, 0x2061, 0x7268, 0x6665, 0x223d, 0x6e69, 0x6564, 
	0x2e78, 0x7468, 0x6c6d, 0x3e22, 0xb5b7, 0xd8bb, 0x2f3c, 0x3e61, 0x2f3c, 0x6f66, 
	0x746e, 0xd3e, 0x3c0a, 0x622f, 0x646f, 0x3e79, 0xa0d, 0x2f3c, 0x7468, 0x6c6d, 
	0xd3e, 0x0a, };

static const  unsigned int data_index_html[] = {
	 
	0x2f,0x69,0x6e,0x64,0x65,0x78,0x2e,0x68,0x74,0x6d,0x6c,0x0000,
	0x5448, 0x5054, 0x312f, 0x302e, 0x3220, 0x3030, 0x4f20, 0xd4b, 0x430a, 0x6e6f, 
	0x6574, 0x746e, 0x742d, 0x7079, 0x3a65, 0x7420, 0x7865, 0x2f74, 0x7468, 0x6c6d, 
	0xa0d, 0xa0d, 0x683c, 0x6165, 0x3e64, 0x743c, 0x7469, 0x656c, 0x533e, 0x4350, 
	0x3045, 0x3136, 0xd641, 0xd2f7, 0x3cb3, 0x742f, 0x7469, 0x656c, 0x3c3e, 0x682f, 
	0x6165, 0x3e64, 0xa0d, 0x703c, 0x3c3e, 0x6f66, 0x746e, 0x7320, 0x7a69, 0x3d65, 
	0x3622, 0x2022, 0x6166, 0x6563, 0x223d, 0x6f4d, 0x6f6e, 0x7974, 0x6570, 0x4320, 
	0x726f, 0x6973, 0x6176, 0x3e22, 0x5053, 0x4543, 0x3630, 0x4131, 0x4e20, 0x5445, 
	0x4320, 0x4e4f, 0x5254, 0x4c4f, 0xd20, 0x440a, 0x4d45, 0x3c4f, 0x662f, 0x6e6f, 
	0x3e74, 0xd20, 0x200a, 0x6e26, 0x7362, 0x3b70, 0x3c20, 0x702f, 0xd3e, 0x3c0a, 
	0x702f, 0x3c3e, 0x6f66, 0x6d72, 0x6d20, 0x7465, 0x6f68, 0x3d64, 0x4722, 0x5445, 
	0x2022, 0x616e, 0x656d, 0x223d, 0x6e69, 0x7570, 0x2274, 0x6120, 0x7463, 0x6f69, 
	0x3d6e, 0x6922, 0x646e, 0x7865, 0x682e, 0x6d74, 0x226c, 0xd3e, 0x3c0a, 0x3e70, 
	0x663c, 0x6e6f, 0x2074, 0x6973, 0x657a, 0x223d, 0x2233, 0x3e20, 0xebc7, 0xe4ca, 
	0xebc8, 0xdcc3, 0xebc2, 0xbaa3, 0x2f3c, 0x6f66, 0x746e, 0xd3e, 0x3c0a, 0x6e69, 
	0x7570, 0x2074, 0x7974, 0x6570, 0x223d, 0x6170, 0x7373, 0x6f77, 0x6472, 0x2022, 
	0x616e, 0x656d, 0x223d, 0x4450, 0x2022, 0x6973, 0x657a, 0x223d, 0x3032, 0x3e22, 
	0x6e26, 0x7362, 0x3c70, 0x6e69, 0x7570, 0x2074, 0x7974, 0x6570, 0x223d, 0x7573, 
	0x6d62, 0x7469, 0x2022, 0x6176, 0x756c, 0x3d65, 0xcc22, 0xbde1, 0x22bb, 0x6e20, 
	0x6d61, 0x3d65, 0x4222, 0x2231, 0x3e20, 0xa0d, 0x3c20, 0x702f, 0xd3e, 0xd0a, 
	0xd0a, 0xd0a, 0xd0a, 0x0a, };

static const  unsigned int data_opt_html[] = {
	 
	0x2f,0x6f,0x70,0x74,0x2e,0x68,0x74,0x6d,0x6c,0x0000,
	0x5448, 0x5054, 0x312f, 0x302e, 0x3220, 0x3030, 0x4f20, 0xd4b, 0x430a, 0x6e6f, 
	0x6574, 0x746e, 0x742d, 0x7079, 0x3a65, 0x7420, 0x7865, 0x2f74, 0x7468, 0x6c6d, 
	0xa0d, 0xa0d, 0x623c, 0x646f, 0x3e79, 0xa0d, 0x6d3c, 0x7261, 0x7571, 0x6565, 
	0x6220, 0x6367, 0x6c6f, 0x726f, 0x223d, 0x4623, 0x4646, 0x4646, 0x2246, 0x7320, 
	0x7974, 0x656c, 0x223d, 0x6f63, 0x6f6c, 0x3a72, 0x2320, 0x4646, 0x3030, 0x4646, 
	0x203b, 0x6f66, 0x746e, 0x772d, 0x6965, 0x6867, 0x3a74, 0x6220, 0x6c6f, 0x2264, 
	0x6120, 0x696c, 0x6e67, 0x223d, 0x696d, 0x6464, 0x656c, 0x2022, 0x6373, 0x6f72, 
	0x6c6c, 0x6564, 0x616c, 0x3d79, 0x3122, 0x3030, 0x2022, 0x6562, 0x6168, 0x6976, 
	0x726f, 0x223d, 0x6c61, 0x6574, 0x6e72, 0x7461, 0x2265, 0xbb3e, 0xd3b6, 0xb9ad, 
	0xc1e2, 0x30d9, 0x3136, 0xf8cd, 0xcfc9, 0xd2bc, 0xb0d4, 0xa1a3, 0x2f3c, 0x616d, 
	0x7172, 0x6575, 0x3e65, 0xa0d, 0x6d3c, 0x7465, 0x2061, 0x7468, 0x7074, 0x652d, 
	0x7571, 0x7669, 0x223d, 0x6572, 0x7266, 0x7365, 0x2268, 0x6320, 0x6e6f, 0x6574, 
	0x746e, 0x223d, 0x3032, 0x3e22, 0xa0d, 0x683c, 0x6165, 0x3e64, 0x743c, 0x7469, 
	0x656c, 0xd73e, 0xccb4, 0xbcac, 0xbfe0, 0x3cd8, 0x742f, 0x7469, 0x656c, 0x3c3e, 
	0x682f, 0x6165, 0x3e64, 0xa0d, 0x703c, 0x3c3e, 0x3e62, 0x663c, 0x6e6f, 0x2074, 
	0x6973, 0x657a, 0x223d, 0x2234, 0x6320, 0x6c6f, 0x726f, 0x223d, 0x3823, 0x3030, 
	0x3030, 0x2230, 0xd73e, 0xccb4, 0xc9ac, 0xb6e8, 0x3ca8, 0x662f, 0x6e6f, 0x3e74, 
	0x2f3c, 0x3e62, 0x2f3c, 0x3e70, 0xa0d, 0x663c, 0x726f, 0x206d, 0x6361, 0x6974, 
	0x6e6f, 0x273d, 0x706f, 0x2e74, 0x7468, 0x6c6d, 0x2027, 0xd3e, 0x3c0a, 0x3e70, 
	0xd5bf, 0xf7b5, 0x3c20, 0x6e69, 0x7570, 0x2074, 0x7974, 0x6570, 0x733d, 0x6275, 
	0x696d, 0x2074, 0x616e, 0x656d, 0x313d, 0x2030, 0x6176, 0x756c, 0x3d65, 0xf2b4, 
	0xaabf, 0x263e, 0x626e, 0x7073, 0x693c, 0x706e, 0x7475, 0x7420, 0x7079, 0x3d65, 
	0x7573, 0x6d62, 0x7469, 0x6e20, 0x6d61, 0x3d65, 0x3131, 0x7620, 0x6c61, 0x6575, 
	0xb93d, 0xb1d8, 0x3ed5, 0x6e26, 0x7362, 0x3b70, 0xa0d, 0x703c, 0xd3e, 0xb50a, 
	0xb9c6, 0xde2, 0x3c0a, 0x6e69, 0x7570, 0x2074, 0x7974, 0x6570, 0x733d, 0x6275, 
	0x696d, 0x2074, 0x616e, 0x656d, 0x313d, 0x2032, 0x6176, 0x756c, 0x3d65, 0xf2b4, 
	0xaabf, 0x263e, 0x626e, 0x7073, 0x693c, 0x706e, 0x7475, 0x7420, 0x7079, 0x3d65, 
	0x7573, 0x6d62, 0x7469, 0x6e20, 0x6d61, 0x3d65, 0x3331, 0x7620, 0x6c61, 0x6575, 
	0xb93d, 0xb1d8, 0x3ed5, 0x6e26, 0x7362, 0x3b70, 0xa0d, 0x2f3c, 0x3e70, 0xa0d, 
	0x703c, 0xd23e, 0xc0f4, 0xdd6, 0x3c0a, 0x6e69, 0x7570, 0x2074, 0x7974, 0x6570, 
	0x733d, 0x6275, 0x696d, 0x2074, 0x616e, 0x656d, 0x313d, 0x2034, 0x6176, 0x756c, 
	0x3d65, 0xf2b4, 0xaabf, 0x263e, 0x626e, 0x7073, 0x693c, 0x706e, 0x7475, 0x7420, 
	0x7079, 0x3d65, 0x7573, 0x6d62, 0x7469, 0x6e20, 0x6d61, 0x3d65, 0x3531, 0x7620, 
	0x6c61, 0x6575, 0xb93d, 0xb1d8, 0x3ed5, 0x6e26, 0x7362, 0x3c70, 0x6e69, 0x7570, 
	0x2074, 0x7974, 0x6570, 0x733d, 0x6275, 0x696d, 0x2074, 0x616e, 0x656d, 0x313d, 
	0x2036, 0x6176, 0x756c, 0x3d65, 0xc2cf, 0xbbd2, 0xfac7, 0x263e, 0x626e, 0x7073, 
	0x693c, 0x706e, 0x7475, 0x7420, 0x7079, 0x3d65, 0x7573, 0x6d62, 0x7469, 0x6e20, 
	0x6d61, 0x3d65, 0x3731, 0x7620, 0x6c61, 0x6575, 0xc93d, 0xd2cf, 0xc7bb, 0x3efa, 
	0x2f3c, 0x3e70, 0xa0d, 0x703c, 0xa13e, 0x3ca1, 0x702f, 0xd3e, 0x3c0a, 0x616d, 
	0x7172, 0x6575, 0x2065, 0x6762, 0x6f63, 0x6f6c, 0x3d72, 0x2322, 0x3038, 0x3030, 
	0x3030, 0x2022, 0x7473, 0x6c79, 0x3d65, 0x6322, 0x6c6f, 0x726f, 0x203a, 0x4623, 
	0x3046, 0x3030, 0x3b30, 0x6620, 0x6e6f, 0x2d74, 0x6577, 0x6769, 0x7468, 0x203a, 
	0x6f62, 0x646c, 0x2022, 0x6c61, 0x6769, 0x3d6e, 0x6d22, 0x6469, 0x6c64, 0x2265, 
	0x7320, 0x7263, 0x6c6f, 0x646c, 0x6c65, 0x7961, 0x223d, 0x3531, 0x2230, 0x6220, 
	0x6865, 0x7661, 0x6f69, 0x3d72, 0x6122, 0x746c, 0x7265, 0x616e, 0x6574, 0x3e22, 
	0x6e26, 0x7362, 0xd770, 0xccb4, 0xbcac, 0xbfe0, 0xdd8, 0x3c0a, 0x6174, 0x6c62, 
	0x2065, 0x6f62, 0x6472, 0x7265, 0x343d, 0x3e20, 0xa0d, 0x743c, 0x3e72, 0x743c, 
	0x3e64, 0x2f3c, 0x6474, 0x3c3e, 0x6474, 0x203e, 0xb4d7, 0xaccc, 0x3c20, 0x742f, 
	0x3e64, 0xa0d, 0x743c, 0x3e72, 0x743c, 0x3e64, 0xbf20, 0xb5d5, 0x20f7, 0x2f3c, 
	0x6474, 0x3c3e, 0x6474, 0x203e, 0x4040, 0xb923, 0x40d8, 0x2440, 0x3c20, 0x742f, 
	0x3e64, 0x743c, 0x3e64, 0x2f3c, 0x6474, 0xd3e, 0x3c0a, 0x742f, 0x3e72, 0xa0d, 
	0x743c, 0x3e72, 0x743c, 0x3e64, 0xb520, 0xb9c6, 0x20e2, 0x2f3c, 0x6474, 0xd3e, 
	0x3c0a, 0x6474, 0x203e, 0x4040, 0xb923, 0x40d8, 0x2440, 0x3c20, 0x742f, 0x3e64, 
	0x743c, 0x3e64, 0x2f3c, 0x6474, 0xd3e, 0x3c0a, 0x7274, 0x3c3e, 0x6474, 0x203e, 
	0xf4d2, 0xd6c0, 0x2f3c, 0x6474, 0xd3e, 0x3c0a, 0x6474, 0x203e, 0x4040, 0xb923, 
	0x40d8, 0x2440, 0x3c20, 0x742f, 0x3e64, 0x743c, 0x3e64, 0x2f3c, 0x6474, 0xd3e, 
	0x3c0a, 0x742f, 0x3e72, 0x2f3c, 0x6174, 0x6c62, 0x3e65, 0x2f3c, 0x616d, 0x7172, 
	0x6575, 0x3e65, 0xa0d, 0x703c, 0xa13e, 0x3ca1, 0x702f, 0xd3e, 0x3c0a, 0x7262, 
	0x3c3e, 0x2061, 0x7268, 0x6665, 0x273d, 0x6e69, 0x6564, 0x2e78, 0x7468, 0x6c6d, 
	0x3e27, 0xa0d, 0xb5b7, 0xd8bb, 0x2f3c, 0x3e61, 0xa0d, 0x2f3c, 0x6f62, 0x7964, 
	0xd3e, 0xd0a, 0xd0a, 0x0a, };

const struct fsdata_file file_404_htm[] = {{((void *)0) , (unsigned char *) data_404_htm, data_404_htm + 9, (sizeof(data_404_htm) - 9)<<1}};

const struct fsdata_file file_err_htm[] = {{file_404_htm, (unsigned char *) data_err_htm, data_err_htm + 9, (sizeof(data_err_htm) - 9)<<1}};

const struct fsdata_file file_index_html[] = {{file_err_htm, (unsigned char *) data_index_html, data_index_html + 12, (sizeof(data_index_html) - 12)<<1}};

const struct fsdata_file file_opt_html[] = {{file_index_html, (unsigned char *) data_opt_html, data_opt_html + 10, (sizeof(data_opt_html) - 10)<<1}};





# 36 "G:/\301\350\321\364\265\245\306\254\273\372/\320\302\275\250\316\304\274\376\274\320/9.\304\243\327\351\327\312\301\317/\322\324\314\253\315\370\315\250\321\266\304\243\327\351/\322\324\314\253\315\370DemoCode/DemoCode/code/fs.c" 2


 


 
int
fs_open(char *name, struct fs_file *file)
{
  struct fsdata_file_noconst *f;

  for(f = (struct fsdata_file_noconst *)file_opt_html ;
      f != ((void *)0) ;
      f = (struct fsdata_file_noconst *)f->next) {
    if(!strcmp(name, (char *)f->name)) {
      file->data = f->data;
      file->len = f->len;
      return 1;
    }
  }
  file->data = ((void *)0) ;
  return 0;
}
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -