📄 webserver.htm
字号:
<LI><a href="#[ca0b90]">>></a> enc28j60SetBank
<LI><a href="#[ca0c68]">>></a> enc28j60WriteOp
<LI><a href="#[ca1e50]">>></a> enc28j60PhyWrite
<LI><a href="#[ca1f28]">>></a> delay_ms
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main
</UL>
<P><STRONG><a name="[ca0a70]"></a>enc28j60getrev</STRONG> (ARM, 20 bytes, Stack size 4 bytes, enc28j60.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ca0b48]">>></a> enc28j60Read
</UL>
<P><STRONG><a name="[ca0a28]"></a>enc28j60linkup</STRONG> (ARM, 44 bytes, Stack size 4 bytes, enc28j60.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ca0ab8]">>></a> enc28j60PhyReadH
</UL>
<P><STRONG><a name="[ca09e0]"></a>enc28j60PacketSend</STRONG> (ARM, 160 bytes, Stack size 12 bytes, enc28j60.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[ca0b00]">>></a> enc28j60Write
<LI><a href="#[ca0b48]">>></a> enc28j60Read
<LI><a href="#[ca0bd8]">>></a> enc28j60WriteBuffer
<LI><a href="#[ca0c68]">>></a> enc28j60WriteOp
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1a60]">>></a> make_udp_reply_from_request
<LI><a href="#[ca1aa8]">>></a> make_tcp_synack_from_syn
<LI><a href="#[ca1af0]">>></a> make_tcp_ack_with_data
<LI><a href="#[ca1b38]">>></a> make_tcp_ack_from_any
<LI><a href="#[ca1b80]">>></a> make_echo_reply_from_request
<LI><a href="#[ca1bc8]">>></a> make_arp_answer_from_request
</UL>
<P><STRONG><a name="[ca1e98]"></a>enc28j60PacketReceive</STRONG> (ARM, 324 bytes, Stack size 20 bytes, enc28j60.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = enc28j60PacketReceive ⇒ enc28j60Write ⇒ enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[ca0b00]">>></a> enc28j60Write
<LI><a href="#[ca0b48]">>></a> enc28j60Read
<LI><a href="#[ca0c20]">>></a> enc28j60ReadBuffer
<LI><a href="#[ca0c68]">>></a> enc28j60WriteOp
<LI><a href="#[ca0cb0]">>></a> enc28j60ReadOp
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main
</UL>
<P><STRONG><a name="[c9fe80]"></a>checksum</STRONG> (ARM, 160 bytes, Stack size 4 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = checksum
</UL>
<BR>[Called By]<UL><LI><a href="#[c9fdf0]">>></a> fill_ip_hdr_checksum
<LI><a href="#[ca1a60]">>></a> make_udp_reply_from_request
<LI><a href="#[ca1aa8]">>></a> make_tcp_synack_from_syn
<LI><a href="#[ca1af0]">>></a> make_tcp_ack_with_data
<LI><a href="#[ca1b38]">>></a> make_tcp_ack_from_any
</UL>
<P><STRONG><a name="[ca1c58]"></a>init_ip_arp_udp_tcp</STRONG> (ARM, 92 bytes, Stack size 4 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = init_ip_arp_udp_tcp
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main
</UL>
<P><STRONG><a name="[ca1dc0]"></a>eth_type_is_arp_and_my_ip</STRONG> (ARM, 116 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main
</UL>
<P><STRONG><a name="[ca1d78]"></a>eth_type_is_ip_and_my_ip</STRONG> (ARM, 136 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main
</UL>
<P><STRONG><a name="[c9fe38]"></a>make_eth</STRONG> (ARM, 60 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca1a60]">>></a> make_udp_reply_from_request
<LI><a href="#[ca1aa8]">>></a> make_tcp_synack_from_syn
<LI><a href="#[ca1b38]">>></a> make_tcp_ack_from_any
<LI><a href="#[ca1b80]">>></a> make_echo_reply_from_request
<LI><a href="#[ca1bc8]">>></a> make_arp_answer_from_request
</UL>
<P><STRONG><a name="[c9fdf0]"></a>fill_ip_hdr_checksum</STRONG> (ARM, 84 bytes, Stack size 12 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = fill_ip_hdr_checksum ⇒ checksum
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fe80]">>></a> checksum
</UL>
<BR>[Called By]<UL><LI><a href="#[c9fda8]">>></a> make_ip
<LI><a href="#[ca1af0]">>></a> make_tcp_ack_with_data
</UL>
<P><STRONG><a name="[c9fda8]"></a>make_ip</STRONG> (ARM, 80 bytes, Stack size 12 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = make_ip ⇒ fill_ip_hdr_checksum ⇒ checksum
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fdf0]">>></a> fill_ip_hdr_checksum
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1a60]">>></a> make_udp_reply_from_request
<LI><a href="#[ca1aa8]">>></a> make_tcp_synack_from_syn
<LI><a href="#[ca1b38]">>></a> make_tcp_ack_from_any
<LI><a href="#[ca1b80]">>></a> make_echo_reply_from_request
</UL>
<P><STRONG><a name="[c9fd60]"></a>make_tcphead</STRONG> (ARM, 304 bytes, Stack size 12 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = make_tcphead
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1aa8]">>></a> make_tcp_synack_from_syn
<LI><a href="#[ca1b38]">>></a> make_tcp_ack_from_any
</UL>
<P><STRONG><a name="[ca1bc8]"></a>make_arp_answer_from_request</STRONG> (ARM, 164 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = make_arp_answer_from_request ⇒ enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fe38]">>></a> make_eth
<LI><a href="#[ca09e0]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main
</UL>
<P><STRONG><a name="[ca1b80]"></a>make_echo_reply_from_request</STRONG> (ARM, 92 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = make_echo_reply_from_request ⇒ enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fda8]">>></a> make_ip
<LI><a href="#[c9fe38]">>></a> make_eth
<LI><a href="#[ca09e0]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main
</UL>
<P><STRONG><a name="[ca1a60]"></a>make_udp_reply_from_request</STRONG> (ARM, 192 bytes, Stack size 32 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = make_udp_reply_from_request ⇒ enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fda8]">>></a> make_ip
<LI><a href="#[c9fe38]">>></a> make_eth
<LI><a href="#[c9fe80]">>></a> checksum
<LI><a href="#[ca09e0]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main
</UL>
<P><STRONG><a name="[ca1aa8]"></a>make_tcp_synack_from_syn</STRONG> (ARM, 120 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = make_tcp_synack_from_syn ⇒ enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fd60]">>></a> make_tcphead
<LI><a href="#[c9fda8]">>></a> make_ip
<LI><a href="#[c9fe38]">>></a> make_eth
<LI><a href="#[c9fe80]">>></a> checksum
<LI><a href="#[ca09e0]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main
</UL>
<P><STRONG><a name="[ca1ca0]"></a>get_tcp_data_pointer</STRONG> (ARM, 48 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main
</UL>
<P><STRONG><a name="[ca1c10]"></a>init_len_info</STRONG> (ARM, 136 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main
</UL>
<P><STRONG><a name="[ca1ce8]"></a>fill_tcp_data_p</STRONG> (ARM, 44 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main
<LI><a href="#[ca1fb8]">>></a> print_webpage
<LI><a href="#[ca2000]">>></a> moved_perm
</UL>
<P><STRONG><a name="[ca1d30]"></a>fill_tcp_data</STRONG> (ARM, 52 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca2000]">>></a> moved_perm
</UL>
<P><STRONG><a name="[ca1b38]"></a>make_tcp_ack_from_any</STRONG> (ARM, 172 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = make_tcp_ack_from_any ⇒ enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fd60]">>></a> make_tcphead
<LI><a href="#[c9fda8]">>></a> make_ip
<LI><a href="#[c9fe38]">>></a> make_eth
<LI><a href="#[c9fe80]">>></a> checksum
<LI><a href="#[ca09e0]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main
</UL>
<P><STRONG><a name="[ca1af0]"></a>make_tcp_ack_with_data</STRONG> (ARM, 120 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = make_tcp_ack_with_data ⇒ enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fdf0]">>></a> fill_ip_hdr_checksum
<LI><a href="#[c9fe80]">>></a> checksum
<LI><a href="#[ca09e0]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main
</UL>
<P><STRONG><a name="[c9eaf0]"></a>strcpy</STRONG> (Thumb, 74 bytes, Stack size 12 bytes, strcpy.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = strcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main (via Veneer)
</UL>
<P><STRONG><a name="[c9e930]"></a>strncmp</STRONG> (Thumb, 76 bytes, Stack size 12 bytes, strncmp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = strncmp
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main (via Veneer)
<LI><a href="#[ca2090]">>></a> verify_password (via Veneer)
</UL>
<P><STRONG><a name="[c9e770]"></a>strlen</STRONG> (Thumb, 68 bytes, Stack size 8 bytes, strlen.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = strlen
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">>></a> main (via Veneer)
</UL>
<P><STRONG><a name="[c9e5b8]"></a>__use_two_region_memory</STRONG> (ARM, 4 bytes, Stack size 0 bytes, stkheap2.o(.text), UNUSED)
<P><STRONG><a name="[c9e570]"></a>__rt_stackheap_init</STRONG> (ARM, 36 bytes, Stack size 16 bytes, stkheap2.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24 + Unknown Stack Size
<LI>Call Chain = __rt_stackheap_init ⇒ __user_setup_stackheap
</UL>
<BR>[Calls]<UL><LI><a href="#[c9d590]">>></a> __rt_stackheap_storage
<LI><a href="#[c9da00]">>></a> __user_setup_stackheap
</UL>
<BR>[Called By]<UL><LI><a href="#[c9e028]">>></a> __rt_entry
</UL>
<P><STRONG><a name="[c9e528]"></a>__rt_heap_extend</STRONG> (ARM, 24 bytes, Stack size 8 bytes, stkheap2.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c9e450]">>></a> __user_heap_extend (Weak Reference)
</UL>
<P><STRONG><a name="[c9e028]"></a>__rt_entry</STRONG> (ARM, 76 bytes, Stack size 16 bytes, kernel.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64 + Unknown Stack Size
<LI>Call Chain = __rt_entry ⇒ __rt_lib_init ⇒ _fp_init
</UL>
<BR>[Calls]<UL><LI><a href="#[c9bf40]">>></a> _platform_post_lib_init
<LI><a href="#[c9c0b0]">>></a> _platform_post_stackheap_init
<LI><a href="#[c9cac8]">>></a> __rt_lib_init (via Veneer)
<LI><a href="#[c9cf48]">>></a> exit (via BX)
<LI><a href="#[c9e570]">>></a> __rt_stackheap_init
</UL>
<BR>[Called By]<UL><LI><a href="#[c98ac0]">>></a> __scatterload_rt2
<LI><a href="#[c9e2e8]">>></a> __main
</UL>
<P><STRONG><a name="[c9dfe0]"></a>__rt_exit</STRONG> (ARM, 20 bytes, Stack size 8 bytes, kernel.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __rt_exit ⇒ __rt_lib_shutdown
</UL>
<BR>[Calls]<UL><LI><a href="#[c9ca80]">>></a> __rt_lib_shutdown (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[c9cf48]">>></a> exit (via Veneer)
</UL>
<P><STRONG><a name="[c9df98]"></a>__rt_abort</STRONG> (ARM, 8 bytes, Stack size 0 bytes, kernel.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c9d3d8]">>></a> _sys_exit
</UL>
<P><STRONG><a name="[c9da00]"></a>__user_setup_stackheap</STRONG> (ARM, 96 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = __user_setup_stackheap
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -