📄 webserver.htm
字号:
<BR><BR>[Calls]<UL><LI><a href="#[bed278]">>></a> enc28j60Read
</UL>
<P><STRONG><a name="[bed084]"></a>enc28j60linkup</STRONG> (ARM, 44 bytes, Stack size 4 bytes, enc28j60.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bed17c]">>></a> enc28j60PhyReadH
</UL>
<P><STRONG><a name="[bed004]"></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="#[bed1fc]">>></a> enc28j60Write
<LI><a href="#[bed278]">>></a> enc28j60Read
<LI><a href="#[bed370]">>></a> enc28j60WriteBuffer
<LI><a href="#[bed470]">>></a> enc28j60WriteOp
</UL>
<BR>[Called By]<UL><LI><a href="#[b44354]"><<</a> make_udp_reply_from_request
<LI><a href="#[b443dc]"><<</a> make_tcp_synack_from_syn
<LI><a href="#[b44464]"><<</a> make_tcp_ack_with_data
<LI><a href="#[b444e8]"><<</a> make_tcp_ack_from_any
<LI><a href="#[b4456c]"><<</a> make_echo_reply_from_request
<LI><a href="#[b445f8]"><<</a> make_arp_answer_from_request
</UL>
<P><STRONG><a name="[b44b08]"></a>enc28j60PacketReceive</STRONG> (ARM, 340 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="#[bed1fc]">>></a> enc28j60Write
<LI><a href="#[bed278]">>></a> enc28j60Read
<LI><a href="#[bed3f0]">>></a> enc28j60ReadBuffer
<LI><a href="#[bed470]">>></a> enc28j60WriteOp
<LI><a href="#[bed4ec]">>></a> enc28j60ReadOp
</UL>
<BR>[Called By]<UL><LI><a href="#[b44c80]"><<</a> main
</UL>
<P><STRONG><a name="[be593c]"></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="#[b44354]"><<</a> make_udp_reply_from_request
<LI><a href="#[b443dc]"><<</a> make_tcp_synack_from_syn
<LI><a href="#[b44464]"><<</a> make_tcp_ack_with_data
<LI><a href="#[b444e8]"><<</a> make_tcp_ack_from_any
<LI><a href="#[be5840]"><<</a> fill_ip_hdr_checksum
</UL>
<P><STRONG><a name="[b44700]"></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="#[b44c80]"><<</a> main
</UL>
<P><STRONG><a name="[b44984]"></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="#[b44c80]"><<</a> main
</UL>
<P><STRONG><a name="[b448fc]"></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="#[b44c80]"><<</a> main
</UL>
<P><STRONG><a name="[be58c4]"></a>make_eth</STRONG> (ARM, 56 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b44354]"><<</a> make_udp_reply_from_request
<LI><a href="#[b443dc]"><<</a> make_tcp_synack_from_syn
<LI><a href="#[b444e8]"><<</a> make_tcp_ack_from_any
<LI><a href="#[b4456c]"><<</a> make_echo_reply_from_request
<LI><a href="#[b445f8]"><<</a> make_arp_answer_from_request
</UL>
<P><STRONG><a name="[be5840]"></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="#[be593c]">>></a> checksum
</UL>
<BR>[Called By]<UL><LI><a href="#[b44464]"><<</a> make_tcp_ack_with_data
<LI><a href="#[be57cc]"><<</a> make_ip
</UL>
<P><STRONG><a name="[be57cc]"></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="#[be5840]">>></a> fill_ip_hdr_checksum
</UL>
<BR>[Called By]<UL><LI><a href="#[b44354]"><<</a> make_udp_reply_from_request
<LI><a href="#[b443dc]"><<</a> make_tcp_synack_from_syn
<LI><a href="#[b444e8]"><<</a> make_tcp_ack_from_any
<LI><a href="#[b4456c]"><<</a> make_echo_reply_from_request
</UL>
<P><STRONG><a name="[be5750]"></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="#[b443dc]"><<</a> make_tcp_synack_from_syn
<LI><a href="#[b444e8]"><<</a> make_tcp_ack_from_any
</UL>
<P><STRONG><a name="[b445f8]"></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="#[be58c4]">>></a> make_eth
<LI><a href="#[bed004]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[b44c80]"><<</a> main
</UL>
<P><STRONG><a name="[b4456c]"></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="#[be57cc]">>></a> make_ip
<LI><a href="#[be58c4]">>></a> make_eth
<LI><a href="#[bed004]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[b44c80]"><<</a> main
</UL>
<P><STRONG><a name="[b44354]"></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="#[be57cc]">>></a> make_ip
<LI><a href="#[be58c4]">>></a> make_eth
<LI><a href="#[be593c]">>></a> checksum
<LI><a href="#[bed004]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[b44c80]"><<</a> main
</UL>
<P><STRONG><a name="[b443dc]"></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="#[be5750]">>></a> make_tcphead
<LI><a href="#[be57cc]">>></a> make_ip
<LI><a href="#[be58c4]">>></a> make_eth
<LI><a href="#[be593c]">>></a> checksum
<LI><a href="#[bed004]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[b44c80]"><<</a> main
</UL>
<P><STRONG><a name="[b44780]"></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="#[b44c80]"><<</a> main
</UL>
<P><STRONG><a name="[b44684]"></a>init_len_info</STRONG> (ARM, 132 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b44c80]"><<</a> main
</UL>
<P><STRONG><a name="[b44804]"></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="#[b44c80]"><<</a> main
<LI><a href="#[b44cf4]"><<</a> print_webpage
<LI><a href="#[b44d70]"><<</a> moved_perm
</UL>
<P><STRONG><a name="[b44880]"></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="#[b44d70]"><<</a> moved_perm
</UL>
<P><STRONG><a name="[b444e8]"></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="#[be5750]">>></a> make_tcphead
<LI><a href="#[be57cc]">>></a> make_ip
<LI><a href="#[be58c4]">>></a> make_eth
<LI><a href="#[be593c]">>></a> checksum
<LI><a href="#[bed004]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[b44c80]"><<</a> main
</UL>
<P><STRONG><a name="[b44464]"></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="#[be5840]">>></a> fill_ip_hdr_checksum
<LI><a href="#[be593c]">>></a> checksum
<LI><a href="#[bed004]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[b44c80]"><<</a> main
</UL>
<P><STRONG><a name="[c29ed0]"></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="#[b44c80]"><<</a> main (via Veneer)
</UL>
<P><STRONG><a name="[c29a84]"></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="#[b44c80]"><<</a> main (via Veneer)
<LI><a href="#[b44e64]"><<</a> verify_password (via Veneer)
</UL>
<P><STRONG><a name="[c29658]"></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="#[b44c80]"><<</a> main (via Veneer)
</UL>
<P><STRONG><a name="[c29080]"></a>__use_two_region_memory</STRONG> (ARM, 4 bytes, Stack size 0 bytes, stkheap2.o(.text), UNUSED)
<P><STRONG><a name="[c28ff8]"></a>__rt_stackheap_init</STRONG> (ARM, 60 bytes, Stack size 24 bytes, stkheap2.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32 + Unknown Stack Size
<LI>Call Chain = __rt_stackheap_init -> __user_setup_stackheap</UL>
<BR>[Calls]<UL><LI><a href="#[c26b1c]">>></a> __rt_stackheap_storage
<LI><a href="#[c27620]">>></a> __user_setup_stackheap
</UL>
<BR>[Called By]<UL><LI><a href="#[c27fa0]"><<</a> __rt_entry
</UL>
<P><STRONG><a name="[c28f70]"></a>__rt_heap_extend</STRONG> (ARM, 24 bytes, Stack size 8 bytes, stkheap2.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c29154]">>></a> __user_heap_extend (Weak Reference)
</UL>
<P><STRONG><a name="[c27fa0]"></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="#[c28ff8]">>></a> __rt_stackheap_init
<LI><a href="#[102ad98]">>></a> _platform_post_lib_init
<LI><a href="#[102b1ec]">>></a> _platform_post_stackheap_init
<LI><a href="#[102ca24]">>></a> __rt_lib_init (via Veneer)
<LI><a href="#[102fbb0]">>></a> exit (via BX)
</UL>
<BR>[Called By]<UL><LI><a href="#[c28940]"><<</a> __main
<LI><a href="#[107c9a8]"><<</a> __scatterload_rt2
</UL>
<P><STRONG><a name="[c27e58]"></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="#[102c9d4]">>></a> __rt_lib_shutdown (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[102fbb0]"><<</a> exit (via Veneer)
</UL>
<P><STRONG><a name="[c27de0]"></a>__rt_abort</STRONG> (ARM, 8 bytes, Stack size 0 bytes, kernel.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c25de8]">>></a> _sys_exit
</UL>
<P><STRONG><a name="[c27620]"></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</UL>
<BR>[Calls]<UL><LI><a href="#[b48164]">>></a> __user_initial_stackheap
<LI><a href="#[10301e4]">>></a> __user_perproc_libspace
</UL>
<BR>[Called By]<UL><LI><a href="#[c28ff8]"><<</a> __rt_stackheap_init
</UL>
<P><STRONG><a name="[c26b1c]"></a>__rt_stackheap_storage</STRONG> (ARM, 12 bytes, Stack size 0 bytes, rt_stackheap_storage_intlibspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c28ff8]"><<</a> __rt_stackheap_init
</UL>
<P><STRONG><a name="[c25de8]"></a>_sys_exit</STRONG> (ARM, 20 bytes, Stack size 0 bytes, sys_exit.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[c27de0]"><<</a> __rt_abort
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -