From 22751a384d785d3404f60ac79c889baa7eb8bb40 Mon Sep 17 00:00:00 2001 From: kieron Date: Thu, 10 May 2018 13:21:12 +0000 Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@699 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5251072 -> 5251072 bytes bin/kernel.bin | Bin 196836 -> 196836 bytes iso/boot/asuro.bin | Bin 196836 -> 196836 bytes lib/E1000.ppu | Bin 15741 -> 15741 bytes lib/arp.ppu | Bin 4624 -> 5134 bytes lib/asuro.ppu | Bin 2128 -> 2128 bytes lib/eth2.ppu | Bin 2972 -> 2972 bytes lib/ipv4.ppu | Bin 3743 -> 3743 bytes lib/libpconsole.a | Bin 271148 -> 271148 bytes lib/libpmultiboot.a | Bin 29980 -> 29980 bytes lib/libpsystem.a | Bin 191880 -> 191880 bytes lib/net.ppu | Bin 3623 -> 3623 bytes lib/netutils.ppu | Bin 4824 -> 5669 bytes lib/shell.ppu | Bin 4916 -> 4916 bytes lib/terminal.ppu | Bin 11999 -> 11999 bytes src/driver/net/include/netutils.pas | 28 ++++++++++++++++++++++++++++ src/driver/net/l3/arp.pas | 23 ++++++++++++++++++++++- src/include/asuro.pas | 4 ++-- 18 files changed, 52 insertions(+), 3 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index 6618938b06d1bf99f9081e45e5fc8668c9bb2641..22ed69a6a55f87ca6eae9168d44bb9766013eeb4 100644 GIT binary patch delta 24170 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 delta 23776 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 b!YpA}XDD5ubcOP{Nf_46YWn{G#yl~6 diff --git a/bin/kernel.bin b/bin/kernel.bin index 8d49399cc221f7798358fc10e86f2271ba06dd4b..bec21ed4ebf19c9624aed9c03bdf63669960f856 100755 GIT binary patch delta 14834 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 F{{adadpQ6A delta 14440 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 aHhp&1)LFQG%2jvdJFQk4)7B8DU;ZCkDTLJk diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 8d49399cc221f7798358fc10e86f2271ba06dd4b..bec21ed4ebf19c9624aed9c03bdf63669960f856 100755 GIT binary patch delta 14834 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 F{{adadpQ6A delta 14440 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 aHhp&1)LFQG%2jvdJFQk4)7B8DU;ZCkDTLJk diff --git a/lib/E1000.ppu b/lib/E1000.ppu index 7f549ae93cc1fd0588422b54ad4fee8194ddb3c6..03bc37219d2ff3e4542e4de292646d22e919ba2b 100644 GIT binary patch delta 21 dcmexc^|xw6D?kjlD}|y_ zDJ&M}O8I$xey&_8|D-c9s4L9$Bj~Eo$+tfG60;bhJD9+*#0Wj6OyeLml&iXGASmQj z_fyL;Ko6BL7RaL>!#T!r_W5a3kCUkf=p%I+<8)VzV?yF6WwogjlL!c$14TiZOc?Cr z9z-ukWhagv!z;OX8Nr@#FgC?z+fSQ1zMTFFdoI$Z?>YaKU9okAN=8v%S!K<5- zi>{P^T8uamXZ(CuzFWd}(v$v-{yUq0kSlQNrx&dU?OLb>H(U^2*Yw zDJJW!>T0dY+?@$-+uWad?dS62%u-T^=|&)$+p=TZypFJ&L)>4R5hrFC|Fq-6|4`Vn zzo$Grh))cIH@ip0Ryx0ER(s!Jb#|dx%$JT=*_koT{9?W+zD#y*?nMu%y& zt;RXdvbQ%_cZ&dAoSg@=8)7ctU*gNhzr{5i7FI-TperNF)|+*{dP69)AcR>gs^EYi zx)*Dw>*x6IQd9gHZfKf33XprJHCE2_KpwC*%FV+C#-5bhDGLi>yfY+?xMG|x& znD#uu@3Kl{l&%L;r73>jBjb~dTD!J+mp$Dy**)0^e2+-=ajB9iDbf~P~D|S1UP^x90UgFI0neDiv$e1U$LI8C+2qB?ST#y@~4tL~2 zzr?qaj4dr|)odF6!gDqqYi8-Od8CCI}LwF2^SLe0WDeo+@-3rDRw zxbdZR3O-|%b{;%5vgsKHszQ@s z%q!9={o7RRs0oV?pQ}N9<+LkJlsk!= z&c1?{BV?TWD!$XAN|M|@9LO6lDW#n0N@|!vs8pPZ0Xt(X>c!nWU%{m#Er$NLxJvFc z*5_y1D)<31IR>?%gASv{nn|)W7XE@v`jaDt>LBTLqt5el628%5$}*)^P;*@zsHdbk zH#m}-NioRgAN0Iuta)hktRzf|G>|H}!HIO1*uxtv8th}Tg@jcJwh`A{#kZG?+EcP2 zs!@r~#ua|?F~e^@;u7w80;JYxTdzKt$!6&7{UA;Q>=`XP#t|>Sj@FwV%S_Ltr_v(~ z0{bsdwN=quW^c(x1Wa8knG#P8UrsX!9)jxvWNedcjDwyKcDc)KTNI03JW;&ij+A|* ZxJcCNNad;Y@GRYW|6c<3Nx~oQ=sysgr|JLz diff --git a/lib/asuro.ppu b/lib/asuro.ppu index 992f7433a0990b67276edd5c2bcb4407baaf6ab5..0c92f2b0eed90a6d557148fe2e6abdaa919e25ee 100644 GIT binary patch delta 44 zcmV+{0Mq}_5YP~i6bQlc|LMRDdB2eyG6F(Ju~4D~0sw8Z^aV2k1u`)@FgCL+2P6TY CUk`x* delta 44 zcmca0a6w>#2*;a0>a7b@Omi_@% diff --git a/lib/eth2.ppu b/lib/eth2.ppu index 3a8222ef673b8cf824ed208b20b8928c6ecc24a0..d36a06deba9764cddced89af284f9d198632302c 100644 GIT binary patch delta 33 pcmbOuK1Y1QF^(_m4yNb{xyWxk*TT;6baVerttR$@%~2dq%mDc&4ZZ*X delta 33 pcmbOuK1Y1QF^=PYM*G>ttha7F*TT**=TW*_o!!xp%~2dq%mC@g4MYF{ diff --git a/lib/ipv4.ppu b/lib/ipv4.ppu index 57888ab46d2551906731a9f523cb31f1271e8ff6..b6ed1d336b3d2c34713270f7c1bbb719fb36ff36 100644 GIT binary patch delta 35 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 diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index c6b21b3a3c4a400b11dcbe4378a96478ea8bb8fc..128e3a43a87f3fdd7dc48876c46f7f7185865dc2 100644 GIT binary patch delta 490 zcmbR9igC^>#tCvPMh0eP8vRP3U?ke%kTUE5-Jh9Ec)Q`b=5}WU63!(5d87Hqb=btRYBD7gecON64DbNWB z7i?BA(ts-$+ni*&3KA5X1+1aQ09l3*BdVCVHW%2RfVwKcPhxY3BL_tD<^-1=P-8$o z_w$xyoSZK&usPQADpWZ{_#Y%dHV62rAlcd%cnXPE6#9rC;_(C*@y+?E$xt~E?`=je Yl1gyMdFR7JPHb~QK5}&V7M*7T0JuhoQ2+n{ delta 490 zcmbR9igC^>#tCvPh6YBK8vRP3U?ke%kTUE5-Jh9Ec)Q`b=5}WU63!(5d87Hqb=btRYBD7gecON64DbNWB z7i?BA(ts-$+ni*&3KA5X1+1aQ09l3*BdVCVHW%2RfVwKcPhxY3BL_tD<^-1=P-8$o z_w$xyoSZK&usPQADpWZ{_#Y%dHV62rAlcd%cnXPE6#9rC;_(C*@y+?E$xt~E?`=je Yl1gyMdFR7JPHb~QK5}&V7M*7T0DPZ_6951J diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 0c9b1a75cbe9ba330e4854dbf002347210a05cab..4cca910b5afe7a64f16a60e6e930f3ef672aa61c 100644 GIT binary patch delta 4019 zcmZWse{faB6`pg&1V~;;Abl^T5K`)(M*5n{-xNc??{pGZ00sHh$b1#aKP zVwpcLJ(9ZZ9;S*~V69wHzQ@c^&|Oj91F2?`I(*JR#h%>4=(SK$z`YQ3`NR=%U|YM zaoMr*hy`xP$}?{6=OKA)^`8Pu+?%l;nR;l1&dr!lXMEhJGd`|$CM1l`;f8xb7CmxK zs~&Ec%=c6wW69I(K!qDiex>3f6YGzI`=gB^9p}^#RJcP;MY40F*+ekqc5Xc9tw=rA zr^R{bE7{+8#z)DarUCy(MRMlWqXEL5xz*Ehlh0<#Z#>xvc_w{^vqwdK>NB^p_YqmP z-3Qj}@PWn_A9(TCKJfPQ7Q|)oE??Y=cTwEv_|dk0?YS)4LxG$BvI!hP8@YtsyYDdj zpK$l?8}OEHdxaubcR)vu+;yiuvs7L! zUHsAyFI+NEwVKO+dzh0TEPwJ(0|XU!jhuUBuUV&{JNHVj%>A5G(VJ2IMPNqt7rm|3 z6zV&_OhMi}-Li&rP6a70>#y??1>O4VY45r#ZkF9?t@9RSFBj-J)#|ghW{as%5Hb42Y^GXb_1!&`nYGtqReX50}-Q zKaw31*9)K>w}c@C;%E6VeDxJbvwF36l$&^VGTg2%!hJD252sCm4#+DRd3-Z3%lJs{ zs-C+DmlT5kPCf3yZ!$-##Kpx>iR*5Im+XcfC5Y-)!NbZsz%);F^cvh!4Es#z6c&Vg zy@{*tg5x0WEa9VACw7(ah8+Jz`08xtRQXXYVP`1>t4k20%L{kk4Ys}_xT72*AP(IJ zA$+B5#DHn-yiqZBRq(A2a~~~WPDOy?dl!DZ5C&}okb=TO%}EHpgm}3Mu5z)5MKlIW z@dwM`Yc|s{xdIBun5QwKv?7412f#iIVWdTKLAX*#dRMZaG{Zeoh;clc_=iad859|?=$Z5;Emtj#pA*gioF*UBCLhV(>xJ#d#wX2!4HcbxdoSLR} zTBZhdh-aNG)2$AfCQen8GVsa_dxoK?Qzy!1YAvVOYAGIxXDz~fHZqM*D`#7uJe~Hr zI!^7AGI4WhU=O4*){1@KYLRKQPL>C?rY_JvU8)HBL_F*C|Iq4?X>`7~B&hT3kG0OS zs-O<>tTTVP)gjZwsVP4L+gAn7Aa1PDTJNq7Y7x&`hhkQXOyg6e*7`(booJ}naXO!$ ziSrV64>g7~##;0*kNY~A)VWgk)0GZY#iHu>hM>U!h&#G_w`L19O~-}H#?@U z(>oK#&drW_$A!Xza9RuRZe%Yp+2n8&B9nV2ZsiH8XU6gJFYV3>3&QEvR%a4+KjpkV zx@GD{J8rwh{V2VQW}sy`I|#`(y{Bk|@_ ziau?z@V8EJxq0KmSaaUF%I|U*>;LLJWsy{Wu|?-U9RGh~Vp>17Oaza8>U2B*2SgxC A_W%F@ delta 4019 zcmZWse{faB6`pg&1V~;;Abl^T5F$FLk-kP4D6x&9aZt*SBr-5CQk*y8#d(R1Jf;i` zwlTC=#SRW3x6RrSCDuZ*7(ljiXpHhkf|!?(X4Iw(KU2oG)&j=ScAz7rXYcOW+?%|= z&iC!^w`b3ubN0S%XS24Q&1x~qoR5&6u5mC zi)DUkdL(tncbO_`fwgi)`5rSvL3c%YkDFVT?Ox5ul;sbc)Z2^HPG_y#w6Le;zHImF znc1@X!S{V5vT5Odt&iJ_2nUF9#ha2t(S@ifh zt$Mg>&2$j3rOA0~Ky8`IU-`Osqc+?)Nu_bevN|P~i?W70J$xW)s1b+qvL=2lP3O+KF~zwvY@2wdb;E4+U=it0r&+ZR8Si@4mzA zf5P3nZ@^o+?KO&A-2ojra@U>u+){brfIX=u{`ZEDsH$8nr@Z-F){0P)EOw{7*(+kV zKuF#^+M|7GX{eDUZ`pM=n=ZX9i4$s8S~Sn$HQ@ zckxR9da4G>h^HFDmSy=I+)?z}6#GWT;%MQ=v+7l9eoU-Y(C zQ>gF$G6i|1x@8ULoC;E0)?eo(3cB^z)82Jg-Y}WMp)8j1n`xihsz2cd2MmX_ItrM~ z0FzRR7_W~aQa^!OJe~#IsuUK4yG7d`2#K-;RLfM=7!XxW&>#|dpqrxVTNR=&A1^)Rt`|T%ZV5vO#Ed81|XaDJ%&0 zdJ|XO1IIz!UBXAPPV6e-4LSac@b%fusq&**!p^x6tS&)}E-&1DAK3be;Er;LfH?F3 zgz&Yp5d)^R^G3zkRl&D9%zd+eOLKw6WKne;AH76nX65{15xXQ&I7SR|i z#qTYHuh~q;gpn4_1M$v!piIaaf8q{KupoRwZyI@8WyUAlAlp1uG+nIQ4ksw9 zan>(@tJ9Mq-sB>ZM^TmeSlJBb;ZmGAmfEFO?0x~dRdJl3FczO^1^X?as+7k3Rf_E| z2CyLP9X1c2-37-WSHEPwrlNMh?pK1V2zMjZI`@VxzhjS(OpeaU{Tx2ePrT6{R3U5v z{ow(MPOk1~!+WdDq(one1%H6waCT@)5al&CyoR;JhF+3f}mgT|6#4q1bytA;MayJk1j^x7P}hX@pkx^SBmj{vaqsSPQKi;E6c@ zv=t)L2t9j_$F)%ELQsgX7TSG@Ct~trD@3Ld!cTZyee~3c&{g=e%Bc_j#X05iNc=$^ zJEVC9rgX@>-wTmDZDIy~^WR`ULzPzJf3;S{wV)R9tW|QuYLTh6P=Lc#==pRd!%;rD zjT1BRk7FGF9!O)X)i%yyzsNLNnK?nNHIqCooSx_SKKAO6c-F}cTOBfu&Zfyhom11a zPRrDw4)LtBWxCZN)5NK2QU+d`Vb3rWb?QXfOs(Yi9*H-f zQuJwyg)ckB<>rkKW6gQzD!ttha95(#Op)=TW*_o!!xp&0air83F4E4a)!k diff --git a/lib/netutils.ppu b/lib/netutils.ppu index e0fe8f1cc0cee334cae10511fa317d64ef9d10eb..05d15846bc9c0f0b27612a7ee6499c85f3213523 100644 GIT binary patch delta 1265 zcmZ9MT}TvB6oAi}+4W~;*WFoL#LS-^U0dDI%rp?uM3>meTKp-=LUdhYG5<}?hkS_M zO0rWBqA!sYM3LB&FBK6%5e2;z1U*Dg6(|_}sL{FOj7k^g+;h+Q&bepKojdRSb9;P| zNOMVPne8Hi3{N6Dta|}g9z5+V^3-LQ0YJl)uT-i&G=JQO33u%Ps8N-aL$mmv4og{> z&Z|P)MRAtdLYC_Y2uUntj<{0a+cO+JLh zEOn}stLV0EnxFevL67A$!%}5W#WHiH&_{a)hB;Etm(9chBb$Ts0ct{AIa*&wDTe|n85Oz2sg(Py-^B^T?nA@ z1K6Q*gT%nXqoJnertp!*wi6BErcixNZB1QWL#VMa)IxH1c?Y}2LRuZCdB;wAr}$~fp{UK9wFJqjrc1`g z`?Xww>X|~u`vF~9)ZxrcH1fNGblI7Oqjb+%t;RU@8L%E$U(2z`OC~wV^Va@jB7KlchnuFKRhTjMpJU4%VZ|%- z!x{Cctlr;7%_F^40_t-%y)dvFG@EidcQ<3n{cX{{-r?BTFktHD`7WBl&nVNCj^2d> zE-&J1s(1VF9rd~M@B>|U`|%Skx&!!yKD!GhzH*3YDtgmdYNLbk;h6ZAIy(nrLqnl4 z{wOw%8DW{xd;{IZ(qo|E$jJU}tjl75GAk(bX0uGr7<8gg|sg z62lRb&@4jcYb_d$UQwXCH#Qn+k9Nm~YpoaeSY$Gj8!sX1)4B#@vH#Fit1y@NSMb19 z-XD+_w17w4-77{}!UHg6r|(+1I?bjTVdgtqYWw5HBv3H~08}`7_*ZUb`Czir-fyG{)4MW2Vi81iupb)|@f{d&10XKyp zG~tHO6=($p%t0VhmITZu(Ath&VmpLzMC`{c+X#LZ??MDGN++R{(7<)uBCgny*w>)J zVGK)q=w#504q1_mwT2cLploBGXsH@DUPGqI;19itL7MN)-7gvY?Mb+U3-&Fzk8_S~ z(6QirPi1@MO}K=TvI}GQSE<4bR$a~bR*m9!mkbH~sh;m`<~oH;HpW2JY+RMP+A&wg z1Td?LQHlklg^*LbiE7{jcMxvin)|=tH@6IN-1ekhZNw7uCDQZwF{AFa=S!5}3E`p| zgjsy99#c+}>=~L2%J|ir^*d>Mj>pzW1Ade{lxaFDo3xvVz6%3kx^|W(v(v>&Zni=n z(^h})Wh=QrE4jqYV#05Zuw$CEtGznt*MS^JXkoa8IV}S7xS&Ph9#*vuc!;00&fCkB z-pZ5oCPGK@cw(r0J#&@XmCZ`P9ub4v06OQ{hf@~8QztwjLc}Dr6MBoenN%iwC09w* zAMLF(SBc4e1wBOQo4S_6TBBF-DORa9z#ol0e*Wo8ya#J6OW3C$Q6AILirJcubNW=s dpldZUIy62pK749yGGEM-K{{Ak&m@FE delta 19 bcmdm@wnc5iK8`nk)LR#*nC#kkEKdjkUYrR? diff --git a/lib/terminal.ppu b/lib/terminal.ppu index 081cc5780fc3da4393ddd40d7565fbfae8370723..2a8a77835f21f4ca9c88f60f2442ea7a5e2ff6b5 100644 GIT binary patch delta 21 dcmcZ~dp~vqA0x-XPyb&Y;H})hS&Z?dE&zLo3ZMW0 delta 21 dcmcZ~dp~vqA0x+`KkBUuR7`el7GpfA3jl7G2}S?_ diff --git a/src/driver/net/include/netutils.pas b/src/driver/net/include/netutils.pas index 560fe4b9..48002a5b 100644 --- a/src/driver/net/include/netutils.pas +++ b/src/driver/net/include/netutils.pas @@ -11,6 +11,8 @@ function stringToMAC(str : pchar) : puint8; function stringToIPv4(str : pchar) : puint8; procedure writeMACAddress(mac : puint8; WND : HWND); procedure writeIPv4Address(ip : puint8; WND : HWND); +procedure writeMACAddressEx(mac : puint8; WND : HWND); +procedure writeIPv4AddressEx(ip : puint8; WND : HWND); function MACEqual(mac1 : puint8; mac2 : puint8) : boolean; function IPEqual(ip1 : puint8; ip2 : puint8) : boolean; function newPacketContext : PPacketContext; @@ -80,6 +82,32 @@ begin pop_trace; end; +procedure writeIPv4AddressEx(ip : puint8; WND : HWND); +var + i : integer; + +begin + push_trace('netutils.writeIPv4Address'); + console.writeintWND(ip[0], WND); + for i:=1 to 3 do begin + console.writestringWND('.', WND); + console.writeintWND(ip[i], WND); + end; +end; + +procedure writeMACAddressEx(mac : puint8; WND : HWND); +var + i : integer; + +begin + push_trace('netutils.writeMACAddress'); + console.writehexpairWND(mac[0], WND); + for i:=1 to 5 do begin + console.writestringWND(':', WND); + console.writehexpairWND(mac[i], WND); + end; +end; + procedure writeIPv4Address(ip : puint8; WND : HWND); var i : integer; diff --git a/src/driver/net/l3/arp.pas b/src/driver/net/l3/arp.pas index abd66de5..e082b638 100644 --- a/src/driver/net/l3/arp.pas +++ b/src/driver/net/l3/arp.pas @@ -4,7 +4,7 @@ interface uses tracer, lmemorymanager, - util, lists, console, + util, lists, console, terminal, net, nettypes, netutils, netlog, eth2, ipv4; @@ -189,12 +189,33 @@ begin end; end; +procedure terminal_command_arp(Params : PParamList); +var + i : uint32; + elm : PARPCacheRecord; + +begin + if LL_Size(Cache) > 0 then begin + writestringlnWND('MAC IPv4', getTerminalHWND); + For i:=0 to LL_Size(Cache)-1 do begin + elm:= PARPCacheRecord(LL_Get(Cache, i)); + writeMACAddressEx(@elm^.MAC[0], getTerminalHWND); + writestringWND(' ', getTerminalHWND); + writeIPv4AddressEx(@elm^.IP[0], getTerminalHWND); + writestringlnWND(' ', getTerminalHWND); + end; + end else begin + writestringlnWND('No entries in ARP table.', getTerminalHWND); + end; +end; + procedure register; begin push_trace('arp.register'); if not Registered then begin Cache:= LL_New(sizeof(TARPCacheRecord)); eth2.registerType($0806, @recv); + terminal.registerCommand('ARP', @terminal_command_arp, 'Get ARP Table.'); Registered:= true; end; pop_trace; diff --git a/src/include/asuro.pas b/src/include/asuro.pas index ef053456..fc90c8e9 100644 --- a/src/include/asuro.pas +++ b/src/include/asuro.pas @@ -9,14 +9,14 @@ const VERSION_SUB = '1'; REVISION = '677'; RELEASE = 'ia'; - LINE_COUNT = 27855; + LINE_COUNT = 27904; FILE_COUNT = 89; DRIVER_COUNT = 32; FPC_VERSION = '2.6.4'; NASM_VERSION = '2.10.09'; MAKE_VERSION = '3.81'; COMPILE_DATE = '10/05/18'; - COMPILE_TIME = '14:03:49'; + COMPILE_TIME = '14:21:06'; implementation