📄 webserver.htm
字号:
</UL>
<P><STRONG><a name="[cad128]"></a>enc28j60linkup</STRONG> (ARM, 44 bytes, Stack size 4 bytes, enc28j60.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[cad220]">>></a> enc28j60PhyReadH
</UL>
<P><STRONG><a name="[cad0a8]"></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="#[cad2a0]">>></a> enc28j60Write
<LI><a href="#[cad31c]">>></a> enc28j60Read
<LI><a href="#[cad414]">>></a> enc28j60WriteBuffer
<LI><a href="#[cad514]">>></a> enc28j60WriteOp
</UL>
<BR>[Called By]<UL><LI><a href="#[c04338]"><<</a> make_udp_reply_from_request
<LI><a href="#[c043c0]"><<</a> make_tcp_synack_from_syn
<LI><a href="#[c04448]"><<</a> make_tcp_ack_with_data
<LI><a href="#[c044cc]"><<</a> make_tcp_ack_from_any
<LI><a href="#[c04550]"><<</a> make_echo_reply_from_request
<LI><a href="#[c045dc]"><<</a> make_arp_answer_from_request
</UL>
<P><STRONG><a name="[c04aec]"></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="#[cad2a0]">>></a> enc28j60Write
<LI><a href="#[cad31c]">>></a> enc28j60Read
<LI><a href="#[cad494]">>></a> enc28j60ReadBuffer
<LI><a href="#[cad514]">>></a> enc28j60WriteOp
<LI><a href="#[cad590]">>></a> enc28j60ReadOp
</UL>
<BR>[Called By]<UL><LI><a href="#[c04c64]"><<</a> main
</UL>
<P><STRONG><a name="[ca594c]"></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="#[c04338]"><<</a> make_udp_reply_from_request
<LI><a href="#[c043c0]"><<</a> make_tcp_synack_from_syn
<LI><a href="#[c04448]"><<</a> make_tcp_ack_with_data
<LI><a href="#[c044cc]"><<</a> make_tcp_ack_from_any
<LI><a href="#[ca5850]"><<</a> fill_ip_hdr_checksum
</UL>
<P><STRONG><a name="[c046e4]"></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="#[c04c64]"><<</a> main
</UL>
<P><STRONG><a name="[c04968]"></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="#[c04c64]"><<</a> main
</UL>
<P><STRONG><a name="[c048e0]"></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="#[c04c64]"><<</a> main
</UL>
<P><STRONG><a name="[ca58d4]"></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="#[c04338]"><<</a> make_udp_reply_from_request
<LI><a href="#[c043c0]"><<</a> make_tcp_synack_from_syn
<LI><a href="#[c044cc]"><<</a> make_tcp_ack_from_any
<LI><a href="#[c04550]"><<</a> make_echo_reply_from_request
<LI><a href="#[c045dc]"><<</a> make_arp_answer_from_request
</UL>
<P><STRONG><a name="[ca5850]"></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="#[ca594c]">>></a> checksum
</UL>
<BR>[Called By]<UL><LI><a href="#[c04448]"><<</a> make_tcp_ack_with_data
<LI><a href="#[ca57dc]"><<</a> make_ip
</UL>
<P><STRONG><a name="[ca57dc]"></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="#[ca5850]">>></a> fill_ip_hdr_checksum
</UL>
<BR>[Called By]<UL><LI><a href="#[c04338]"><<</a> make_udp_reply_from_request
<LI><a href="#[c043c0]"><<</a> make_tcp_synack_from_syn
<LI><a href="#[c044cc]"><<</a> make_tcp_ack_from_any
<LI><a href="#[c04550]"><<</a> make_echo_reply_from_request
</UL>
<P><STRONG><a name="[ca5760]"></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="#[c043c0]"><<</a> make_tcp_synack_from_syn
<LI><a href="#[c044cc]"><<</a> make_tcp_ack_from_any
</UL>
<P><STRONG><a name="[c045dc]"></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="#[ca58d4]">>></a> make_eth
<LI><a href="#[cad0a8]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[c04c64]"><<</a> main
</UL>
<P><STRONG><a name="[c04550]"></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="#[ca57dc]">>></a> make_ip
<LI><a href="#[ca58d4]">>></a> make_eth
<LI><a href="#[cad0a8]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[c04c64]"><<</a> main
</UL>
<P><STRONG><a name="[c04338]"></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="#[ca57dc]">>></a> make_ip
<LI><a href="#[ca58d4]">>></a> make_eth
<LI><a href="#[ca594c]">>></a> checksum
<LI><a href="#[cad0a8]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[c04c64]"><<</a> main
</UL>
<P><STRONG><a name="[c043c0]"></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="#[ca5760]">>></a> make_tcphead
<LI><a href="#[ca57dc]">>></a> make_ip
<LI><a href="#[ca58d4]">>></a> make_eth
<LI><a href="#[ca594c]">>></a> checksum
<LI><a href="#[cad0a8]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[c04c64]"><<</a> main
</UL>
<P><STRONG><a name="[c04764]"></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="#[c04c64]"><<</a> main
</UL>
<P><STRONG><a name="[c04668]"></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="#[c04c64]"><<</a> main
</UL>
<P><STRONG><a name="[c047e8]"></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="#[c04c64]"><<</a> main
<LI><a href="#[c04cd8]"><<</a> print_webpage
<LI><a href="#[c04d54]"><<</a> moved_perm
</UL>
<P><STRONG><a name="[c04864]"></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="#[c04d54]"><<</a> moved_perm
</UL>
<P><STRONG><a name="[c044cc]"></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="#[ca5760]">>></a> make_tcphead
<LI><a href="#[ca57dc]">>></a> make_ip
<LI><a href="#[ca58d4]">>></a> make_eth
<LI><a href="#[ca594c]">>></a> checksum
<LI><a href="#[cad0a8]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[c04c64]"><<</a> main
</UL>
<P><STRONG><a name="[c04448]"></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="#[ca5850]">>></a> fill_ip_hdr_checksum
<LI><a href="#[ca594c]">>></a> checksum
<LI><a href="#[cad0a8]">>></a> enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[c04c64]"><<</a> main
</UL>
<P><STRONG><a name="[ce97fc]"></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="#[c04c64]"><<</a> main (via Veneer)
</UL>
<P><STRONG><a name="[ce93b0]"></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="#[c04c64]"><<</a> main (via Veneer)
<LI><a href="#[c04e48]"><<</a> verify_password (via Veneer)
</UL>
<P><STRONG><a name="[ce8f84]"></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="#[c04c64]"><<</a> main (via Veneer)
</UL>
<P><STRONG><a name="[ce89ac]"></a>__use_two_region_memory</STRONG> (ARM, 4 bytes, Stack size 0 bytes, stkheap2.o(.text), UNUSED)
<P><STRONG><a name="[ce8924]"></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="#[ce6448]">>></a> __rt_stackheap_storage
<LI><a href="#[ce6f4c]">>></a> __user_setup_stackheap
</UL>
<BR>[Called By]<UL><LI><a href="#[ce78cc]"><<</a> __rt_entry
</UL>
<P><STRONG><a name="[ce889c]"></a>__rt_heap_extend</STRONG> (ARM, 24 bytes, Stack size 8 bytes, stkheap2.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ce8a80]">>></a> __user_heap_extend (Weak Reference)
</UL>
<P><STRONG><a name="[ce78cc]"></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="#[ce8924]">>></a> __rt_stackheap_init
<LI><a href="#[10eaad4]">>></a> _platform_post_lib_init
<LI><a href="#[10eaf28]">>></a> _platform_post_stackheap_init
<LI><a href="#[10ec760]">>></a> __rt_lib_init (via Veneer)
<LI><a href="#[10ef8ec]">>></a> exit (via BX)
</UL>
<BR>[Called By]<UL><LI><a href="#[ce826c]"><<</a> __main
<LI><a href="#[113c7d8]"><<</a> __scatterload_rt2
</UL>
<P><STRONG><a name="[ce7784]"></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="#[10ec710]">>></a> __rt_lib_shutdown (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[10ef8ec]"><<</a> exit (via Veneer)
</UL>
<P><STRONG><a name="[ce770c]"></a>__rt_abort</STRONG> (ARM, 8 bytes, Stack size 0 bytes, kernel.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[10f03fc]">>></a> _sys_exit
</UL>
<P><STRONG><a name="[ce6f4c]"></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="#[c08190]">>></a> __user_initial_stackheap
<LI><a href="#[10eff20]">>></a> __user_perproc_libspace
</UL>
<BR>[Called By]<UL><LI><a href="#[ce8924]"><<</a> __rt_stackheap_init
</UL>
<P><STRONG><a name="[ce6448]"></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="#[ce8924]"><<</a> __rt_stackheap_init
</UL>
<P><STRONG><a name="[10f03fc]"></a>_sys_exit</STRONG> (ARM, 20 bytes, Stack size 0 bytes, sys_exit.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[ce770c]"><<</a> __rt_abort
</UL>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -