📄 fs.i
字号:
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 + -