📄 memp.i
字号:
# 41 "..\\..\\..\\..\\TcpIPStack\\user\\include\\ip.h" 2
struct netif;
void ip_init(void);
u8_t ip_lookup(void *header, struct netif *inp);
struct netif *ip_route(struct ip_addr *dest);
err_t ip_input(struct pbuf *p, struct netif *inp);
err_t ip_output(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest,
u8_t ttl, u8_t proto);
err_t ip_output_if(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest,
u8_t ttl, u8_t proto,
struct netif *netif);
struct ip_hdr {
u16_t _v_hl_tos __attribute__((packed)) ;
u16_t _len __attribute__((packed)) ;
u16_t _id __attribute__((packed)) ;
u16_t _offset __attribute__((packed)) ;
u16_t _ttl_proto __attribute__((packed)) ;
u16_t _chksum __attribute__((packed)) ;
struct ip_addr src __attribute__((packed)) ;
struct ip_addr dest __attribute__((packed)) ;
} __attribute__((packed)) ;
# 40 "..\\..\\..\\..\\TcpIPStack\\user\\include\\tcp.h" 2
# 1 "..\\..\\..\\..\\TcpIPStack\\user\\include\\icmp.h" 1
# 1 "..\\..\\..\\..\\TcpIPStack\\user\\include\\opt.h" 1
# 559 "..\\..\\..\\..\\TcpIPStack\\user\\include\\opt.h"
# 37 "..\\..\\..\\..\\TcpIPStack\\user\\include\\icmp.h" 2
# 1 "..\\..\\..\\..\\TcpIPStack\\user\\include\\netif.h" 1
# 1 "..\\..\\..\\..\\TcpIPStack\\user\\include\\opt.h" 1
# 559 "..\\..\\..\\..\\TcpIPStack\\user\\include\\opt.h"
# 35 "..\\..\\..\\..\\TcpIPStack\\user\\include\\netif.h" 2
# 1 "..\\..\\..\\..\\TcpIPStack\\user\\include\\inet.h" 1
# 1 "..\\..\\..\\..\\TcpIPStack\\user\\include\\opt.h" 1
# 559 "..\\..\\..\\..\\TcpIPStack\\user\\include\\opt.h"
# 37 "..\\..\\..\\..\\TcpIPStack\\user\\include\\inet.h" 2
u16_t inet_chksum(void *dataptr, u16_t len);
u16_t inet_chksum_pbuf(struct pbuf *p);
u16_t inet_chksum_pseudo(struct pbuf *p,
struct ip_addr *src, struct ip_addr *dest,
u8_t proto, u16_t proto_len);
u32_t inet_addr(const char *cp);
int inet_aton(const char *cp, struct in_addr *addr);
u8_t *inet_ntoa(u32_t addr);
u16_t htons(u16_t x);
u16_t ntohs(u16_t x);
u32_t htonl(u32_t x);
u32_t ntohl(u32_t x);
# 41 "..\\..\\..\\..\\TcpIPStack\\user\\include\\netif.h" 2
# 1 "..\\..\\..\\..\\TcpIPStack\\user\\include\\dhcp.h" 1
# 1 "..\\..\\..\\..\\TcpIPStack\\user\\include\\opt.h" 1
# 559 "..\\..\\..\\..\\TcpIPStack\\user\\include\\opt.h"
# 7 "..\\..\\..\\..\\TcpIPStack\\user\\include\\dhcp.h" 2
# 1 "..\\..\\..\\..\\TcpIPStack\\user\\include\\netif.h" 1
# 141 "..\\..\\..\\..\\TcpIPStack\\user\\include\\netif.h"
# 8 "..\\..\\..\\..\\TcpIPStack\\user\\include\\dhcp.h" 2
# 1 "..\\..\\..\\..\\TcpIPStack\\user\\include\\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);
# 9 "..\\..\\..\\..\\TcpIPStack\\user\\include\\dhcp.h" 2
struct dhcp
{
u8_t state;
u8_t tries;
u32_t xid;
struct udp_pcb *pcb;
struct pbuf *p;
struct dhcp_msg *msg_in;
struct dhcp_msg *options_in;
u16_t options_in_len;
struct pbuf *p_out;
struct dhcp_msg *msg_out;
u16_t options_out_len;
u16_t request_timeout;
u16_t t1_timeout;
u16_t t2_timeout;
struct ip_addr server_ip_addr;
struct ip_addr offered_ip_addr;
struct ip_addr offered_sn_mask;
struct ip_addr offered_gw_addr;
struct ip_addr offered_bc_addr;
u32_t offered_t0_lease;
u32_t offered_t1_renew;
u32_t offered_t2_rebind;
};
struct dhcp_msg
{
u16_t op_htype;
u16_t hlen_hops;
u32_t xid __attribute__((packed)) ;
u16_t secs __attribute__((packed)) ;
u16_t flags __attribute__((packed)) ;
u32_t ciaddr __attribute__((packed)) ;
u32_t yiaddr __attribute__((packed)) ;
u32_t siaddr __attribute__((packed)) ;
u32_t giaddr __attribute__((packed)) ;
u16_t chaddr[16U/2 ];
u16_t sname[64U/2 ];
u16_t file[128U/2 ];
u32_t cookie __attribute__((packed)) ;
u8_t options[68U/2 ] __attribute__((packed)) ;
} __attribute__((packed)) ;
err_t dhcp_start(struct netif *netif);
void dhcp_stop(struct netif *netif);
err_t dhcp_renew(struct netif *netif);
void dhcp_inform(struct netif *netif);
void dhcp_coarse_tmr(void);
void dhcp_fine_tmr(void);
# 43 "..\\..\\..\\..\\TcpIPStack\\user\\include\\netif.h" 2
struct netif {
struct netif *next;
struct ip_addr ip_addr;
struct ip_addr netmask;
struct ip_addr gw;
err_t (* input)(struct pbuf *p, struct netif *inp);
err_t (* output)(struct netif *netif, struct pbuf *p,
struct ip_addr *ipaddr);
err_t (* linkoutput)(struct netif *netif, struct pbuf *p);
void *state;
struct dhcp *dhcp;
unsigned char hwaddr_len;
unsigned char hwaddr[3U ];
u16_t mtu;
char name[2];
u8_t num;
u8_t flags;
};
extern struct netif *netif_list;
extern struct netif *netif_default;
void netif_init(void);
struct netif *netif_add(struct ip_addr *ipaddr, struct ip_addr *netmask,
struct ip_addr *gw,
void *state,
err_t (* init)(struct netif *netif),
err_t (* input)(struct pbuf *p, struct netif *netif));
void
netif_set_addr(struct netif *netif,struct ip_addr *ipaddr, struct ip_addr *netmask,
struct ip_addr *gw);
void netif_remove(struct netif * netif);
struct netif *netif_find(char *name);
void netif_set_default(struct netif *netif);
void netif_set_ipaddr(struct netif *netif, struct ip_addr *ipaddr);
void netif_set_netmask(struct netif *netif, struct ip_addr *netmast);
void netif_set_gw(struct netif *netif, struct ip_addr *gw);
# 40 "..\\..\\..\\..\\TcpIPStack\\user\\include\\icmp.h" 2
enum icmp_dur_type {
ICMP_DUR_NET = 0,
ICMP_DUR_HOST = 1,
ICMP_DUR_PROTO = 2,
ICMP_DUR_PORT = 3,
ICMP_DUR_FRAG = 4,
ICMP_DUR_SR = 5
};
enum icmp_te_type {
ICMP_TE_TTL = 0,
ICMP_TE_FRAG = 1
};
void icmp_input(struct pbuf *p, struct netif *inp);
void icmp_dest_unreach(struct pbuf *p, enum icmp_dur_type t);
void icmp_time_exceeded(struct pbuf *p, enum icmp_te_type t);
struct icmp_echo_hdr {
u16_t _type_code __attribute__((packed)) ;
u16_t chksum __attribute__((packed)) ;
u16_t id __attribute__((packed)) ;
u16_t seqno __attribute__((packed)) ;
} __attribute__((packed)) ;
struct icmp_dur_hdr {
u16_t _type_code __attribute__((packed)) ;
u16_t chksum __attribute__((packed)) ;
u32_t unused __attribute__((packed)) ;
} __attribute__((packed)) ;
struct icmp_te_hdr {
u16_t _type_code __attribute__((packed)) ;
u16_t chksum __attribute__((packed)) ;
u32_t unused __attribute__((packed)) ;
} __attribute__((packed)) ;
# 41 "..\\..\\..\\..\\TcpIPStack\\user\\include\\tcp.h" 2
struct tcp_pcb;
void tcp_init (void);
void tcp_tmr (void);
struct tcp_pcb * tcp_new (void);
struct tcp_pcb * tcp_alloc (u8_t prio);
void tcp_arg (struct tcp_pcb *pcb, void *arg);
void tcp_accept (struct tcp_pcb *pcb,
err_t (* accept)(void *arg, struct tcp_pcb *newpcb,
err_t err));
void tcp_recv (struct tcp_pcb *pcb,
err_t (* recv)(void *arg, struct tcp_pcb *tpcb,
struct pbuf *p, err_t err));
void tcp_sent (struct tcp_pcb *pcb,
err_t (* sent)(void *arg, struct tcp_pcb *tpcb,
u16_t len));
void tcp_poll (struct tcp_pcb *pcb,
err_t (* poll)(void *arg, struct tcp_pcb *tpcb),
u8_t interval);
void tcp_err (struct tcp_pcb *pcb,
void (* err)(void *arg, err_t err));
void tcp_recved (struct tcp_pcb *pcb, u16_t len);
err_t tcp_bind (struct tcp_pcb *pcb, struct ip_addr *ipaddr,
u16_t port);
err_t tcp_connect (struct tcp_pcb *pcb, struct ip_addr *ipaddr,
u16_t port, err_t (* connected)(void *arg,
struct tcp_pcb *tpcb,
err_t err));
struct tcp_pcb * tcp_listen (struct tcp_pcb *pcb);
void tcp_abort (struct tcp_pcb *pcb);
err_t tcp_close (struct tcp_pcb *pcb);
err_t tcp_write (struct tcp_pcb *pcb, const void *dataptr, u16_t len,
u8_t copy);
void tcp_setprio (struct tcp_pcb *pcb, u8_t prio);
void tcp_slowtmr (void);
void tcp_fasttmr (void);
void tcp_input (struct pbuf *p, struct netif *inp);
err_t tcp_output (struct tcp_pcb *pcb);
void tcp_rexmit (struct tcp_pcb *pcb);
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;
# 284 "..\\..\\..\\..\\TcpIPStack\\user\\include\\tcp.h"
};
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;
};
# 335 "..\\..\\..\\..\\TcpIPStack\\user\\include\\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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -