From 7e293e683b3fe1e6a6f490ed223776ef1ee95fbf Mon Sep 17 00:00:00 2001 From: kieron Date: Sat, 12 May 2018 20:25:42 +0000 Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@731 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5255168 -> 5255168 bytes bin/kernel.bin | Bin 200932 -> 200932 bytes iso/boot/asuro.bin | Bin 200932 -> 200932 bytes lib/E1000.ppu | Bin 16591 -> 16591 bytes lib/IDE.ppu | Bin 10517 -> 10517 bytes lib/arp.ppu | Bin 6355 -> 6355 bytes lib/asuro.ppu | Bin 2128 -> 2128 bytes lib/console.ppu | Bin 61101 -> 61101 bytes lib/cpu.ppu | Bin 8306 -> 8306 bytes lib/drivermanagement.ppu | Bin 9213 -> 9213 bytes lib/eth2.ppu | Bin 3624 -> 3624 bytes lib/fat32.ppu | Bin 14402 -> 14402 bytes lib/ipv4.ppu | Bin 4706 -> 4274 bytes lib/kernel.ppu | Bin 4854 -> 4854 bytes lib/libpconsole.a | Bin 271148 -> 271148 bytes lib/libpmultiboot.a | Bin 29980 -> 29980 bytes lib/libpsystem.a | Bin 191880 -> 191880 bytes lib/memview.ppu | Bin 5293 -> 5293 bytes lib/net.ppu | Bin 3760 -> 3760 bytes lib/netlog.ppu | Bin 1991 -> 1991 bytes lib/nettypes.ppu | Bin 9334 -> 8949 bytes lib/netutils.ppu | Bin 5669 -> 6483 bytes lib/scheduler.ppu | Bin 3229 -> 3229 bytes lib/shell.ppu | Bin 4916 -> 4916 bytes lib/storagemanagement.ppu | Bin 12939 -> 12939 bytes lib/terminal.ppu | Bin 11999 -> 13455 bytes lib/themer.ppu | Bin 4409 -> 4409 bytes lib/tracer.ppu | Bin 3782 -> 3782 bytes src/driver/net/include/nettypes.pas | 20 ++++-- src/driver/net/include/netutils.pas | 31 +++++++++ src/driver/net/l3/ipv4.pas | 29 ++------ src/include/asuro.pas | 4 +- src/prog/terminal.pas | 100 +++++++++++++++++++++------- 33 files changed, 129 insertions(+), 55 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index 4687354ede8b70d4e0bc8eee5db456d3110032b3..88e8629e8e0dcca1ae32b3d08fac1001f2346add 100644 GIT binary patch delta 45314 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 LrK{`jyRQEqxjo{x delta 45062 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 delta 35096 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 AV*mgE diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 501f07c814561583b12eb296234a80986830fd83..9d1e063886add3929696baba21858d38c3d6f2ca 100755 GIT binary patch delta 35339 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 delta 35096 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 AV*mgE diff --git a/lib/E1000.ppu b/lib/E1000.ppu index d60c0ede13bd3241f6bf453a5a801f4c6d6cae13..74bc9ce46b9900512a4e720623a96fb87ee71fc8 100644 GIT binary patch delta 194 zcmX@#$aubyaf3Ib(|5|A&toe{2Y_{M1(iT3m51D0PuS(bN~PV delta 194 zcmX@#$aubyaf3Ib6Kkwf^t*43FByPx>q!nq#?AGd)8qlE$P1eQ delta 26 icmbOlG&N|#S`OA&r|5Uz8eeYQdXj^YVRJp_G{t9+)R^?uo+Ljz%0FaE%P5nMuyF+ST%(KYMwU; diff --git a/lib/asuro.ppu b/lib/asuro.ppu index 45674bcc81d8b3c9d9e30cd4cbcc4c7a0f11ab9f..cae340c4355b127842de96adbe07921d7da3fb1e 100644 GIT binary patch delta 45 zcmca0a6w>#2uC+hMnnGwrF#=)jF_gVZ46k%%J_HlXI3Ldb_*+G3o9dw%{uHVi~xV% B4&49% delta 45 zcmca0a6w>#2*<38o1()S)b%II7%}znYz$b$%D8#+XI3Ldb~7szb1NgW%{uHVi~xAi B4pjgE diff --git a/lib/console.ppu b/lib/console.ppu index 16a1cc3a84f04a7bd6a083113403393c67e205a8..334b55d586feee8e5006af0ac492a0983cddb9e1 100644 GIT binary patch delta 23 fcmZ2`mwD}7<_&)PIleniJ-A0i{^91Z{o(omkOd2j delta 23 fcmZ2`mwD}7<_&)PIap(zqThXMe7QMnf4DvXi7pF! diff --git a/lib/cpu.ppu b/lib/cpu.ppu index b3dbfad51c4c948c4e70527758d2d6406faa332a..2563c35d7e11c1ad3ef27a244514233ac8b1318b 100644 GIT binary patch delta 40 ycmV+@0N4NWK=MG4r3m*ymBG9eAK|gB%mV=dlfeTQlOF~Rlb!^90Rgid1y&n*{|{RL delta 34 scmV+-0NwxcK=MG4r3eLGLR;?kf$6cW%mb703MG@C1bqPjvm6Ch8z-+0#{d8T diff --git a/lib/drivermanagement.ppu b/lib/drivermanagement.ppu index dc0e2257d87a7583e7acd817bda7b9842d541066..ad0efc65d4f641adb297d27a219101afe05da216 100644 GIT binary patch delta 59 zcmezC{?~oNJ&x~=QxEPDk$<@HSqL*DvqENq2uGEO=VH-kAM7W}Om)iIWOP?a>fvq%AmGSLEh#O@%qf=De7obF_v1FO zU`c9GZf0I$&UeSD2lt4`KLiOf16Ae}ZF>IX!gl|SpLrM=WhOCcG0JS#W^x0vHy1H) G;{pJ_7bkxJ delta 108 zcmZ1>vqENq2*+agIm?e)PFOrqW~$THIxkP%2SU~iK){igT2fk)nNxhMxWdc(j>$x@ zU`c9GZf0I$4r{Da^t*43FF}ILK$Wd8TdTg$m@s+cXC6jI`AJM#jPjecncRTv%|*=H FxB!h{CYAsI diff --git a/lib/fat32.ppu b/lib/fat32.ppu index cbc548fb802e9538933e27ce7cc1c48bc6f1e1b4..00230429fe542383e2fe74aabf96c58e2d722330 100644 GIT binary patch delta 19 bcmX?9aHwFyc8>3kQxEPDk$<>xf3rCNY1j%p delta 19 bcmX?9aHwFyb`I89r|5Uz8eeYQ-)s&5V-gB0 diff --git a/lib/ipv4.ppu b/lib/ipv4.ppu index 9a33a33a6d53b2e2233d84f6fe129bd7444ea5b8..d3fc6c8b5920e01f9637e06ae52e8bd88d6604e4 100644 GIT binary patch delta 845 zcmYjOOKTHR6uxI3X&yD5Xo@jS6DN}jZCb@jUDSdVgdjpq7j~l(hjdyZNg9*UHoE9S z>B3D62N!}ar2c`XT1C6ig@}q&aI1^@sxCBwFGLW}9cEf*an8Bl_nmvbx#vxyp{nWh z(cOCnqzk}A_8=W+mlVeO%-hu=O&!|D7#psuNnt5cADMRlI&kITaxk`9e;(=2mm6#E zUfelC3g#{vrdcf+l~axW*YWV`eFr>a=JJ)!?$39>9DX~89kA1VE_i6Z{lnM&I11Ck zl7vqo0TFD%HvrV-5Y}976vc!$;s!>B7?be0IDp5*y{ZNbm;;Mc2%HCw$^uor_)#2e zX_Yw|#sxWy*Q9v}Ee^}Q0z6wRv@8JJT8w$71dy@j`@Z!wZ%?`?W@(u7O=7dH+gB$9 zISMMSY#N)5Q0XdV#&uICNRcfyu#(+arR*icI|vuzofPF#CT|o;8*{YhZS6(MLDKeE z+9*X&DU+Qln#PPt`dyBG&eqo`<4wO3XeH@Y8>Et5x12sE9(B45&su;y_2CC1R1}wVHYMd<_*|YR&4x1pByM*>$ mirY-1T*wvmJgufs(2L`l+ypIYA~#9)ot7SJEUo9@=IB5EUz=0_ delta 1204 zcmZ9KO-vI}5Xax!e$o#L1Q2KiT3Qv$hXsmQ5rs;y1)(a%1EEb*7Hw=xp$k+^Bt$V@ zB$jtE!QcU-i5G&zi$UT+jT}69H5`c1C>J$AG?BzOZ`o}dU$Qf^GryVl-}m;J@sru; z@px_ZcIi!wBZUiR zul>G%j{t#`QI_Mb#@P7t8*W$iM&5BTImU&;@wf4WyK}uEN%XizxzO?8$(v*M7RWg~ zA$Q0S!nwpIDbPqUQeuQ9&{;-);B5)Qh$Ll&WS6P3mO%;BAp{i9@h@^QYtP7$0m(^h zfsuA&btWtUn4u$J07fzff=2RE;?OE&G^^#Up43VUPw>T3ad=&Nc;-IoYz6=!Xf7oN z=|ikvUXfNYcw>1}zJ&4G@|<#*!E&Nj@8HC&rUWa=aJISSHhkC}cn~(K;4tXIl`cum5JuL_)gOe$kKog) zYXKHj`%5F? diff --git a/lib/kernel.ppu b/lib/kernel.ppu index 900698dc5b32ba6b3b1a8882bd863887df09013e..01693a70eea247b005b280f5118338fcbe13ad03 100644 GIT binary patch delta 76 zcmeyS`b~8K6UTSQsR#Fn$UmIS!8Da4r)bmjCl|K+Z(hpun30*0kzukRtHtDc7ETa* gvmk2@<75X;r_Hr&JWPy?le;+N85uXP;_%@D0ATSLjQ{`u delta 76 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 diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index 771b3337c9eaef5aac5a38a654184c289c8dc184..9b609e8d2c98177d17b7c875486d2fcd8f217200 100644 GIT binary patch delta 519 zcmbR9igC^>#tE{lrUu3a78{j(Ss|>+3Pxg^yI6lSBXJjS9%O=Z#W&aTyg}x+^8Y|^ z#WpYC+|D%FUz7`~LBLvKbD8LGbQSy-dinYahNeblhF}MPtp#h9mxF0lFap}8sKvNB zU;Yy#vi*uO2-k^k-m0R7;EHYjrG6B_mDqeoTM(72$vAnfIsarC7NN~*y89UUOo0wT zxMQ<|kvc-X*ybeDmC%6MEMN^Y3CJ{rm{P^WwYk9lILvhceiEBQ9ND1;Y))|54l@fB z41V5{jFa=_1vbZeUV-U=i2sEK&*lI>Wta|7JoE*gMCKNSKIDgnLxPL==KRzom@J6< cHlqi|1?dF`rguIfFvT_(#tE{lCdOtaW*e1!Ss|>+3Pxg^yI6lSBXJjS9%O=Z#W&aTyg}x+^8Y|^ z#WpYC+|D%FUz7`~LBLvKbD8LGbQSy-dinYahNeblhF}MPtp#h9mxF0lFap}8sKvNB zU;Yy#vi*uO2-k^k-m0R7;EHYjrG6B_mDqeoTM(72$vAnfIsarC7NN~*y89UUOo0wT zxMQ<|kvc-X*ybeDmC%6MEMN^Y3CJ{rm{P^WwYk9lILvhceiEBQ9ND1;Y))|54l@fB z41V5{jFa=_1vbZeUV-U=i2sEK&*lI>Wta|7JoE*gMCKNSKIDgnLxPL==KRzom@J6< cHlqi|1?dF`rguIfFvT_(#o2~UXA`@!Oc@w$ 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 TKftV+&U4apjbP7zS&DrRekpsq diff --git a/lib/memview.ppu b/lib/memview.ppu index eac2397e00ccf04ea9a817f036e7632051f76b6d..efe8f4f9f7e74ec273c1b4f932af33a1a7b44293 100644 GIT binary patch delta 33 ncmZ3hxmI&R565@MsR#Fn$UodTMTe1*aq~gOC=eyXJW&t;>%$A_ delta 33 ncmZ3hxmI&R4+m?kQ}nxUjW0J&(P3m{*nE&N3Pi~;PZR_I4;HDebuK zOXG%-w8H@#lXw9t0UWcV0R#dJ8vy_a0RRC50000Sv$F$(2na27wRt=vAv}{l3>gS| c6iK5M=I}q0Uko1z_d%7xyc8edvxW>R0=nla4*&oF delta 122 zcmV-=0EPds9k3mc6bOasg?jgxkdu)ddmXiYN=Yr?5<36@000PXWps6PX>4=Gb9hQi z+%%Dqw8H@&lXw9t0UxuY0R#dJ9svLd0RRC50000Vv$F$(2ngip^QsweLUxlr3>gTc cN1Ug{Igq21Uko1z1zkd0?)HJ{vxW>R0*cEkNB{r; diff --git a/lib/netlog.ppu b/lib/netlog.ppu index ba2e55e899cd4f57d18fb308837334f332fbaa91..396813ec39944b0f880fb981d846dba69d755a4e 100644 GIT binary patch delta 32 ocmX@kf1H0p7sq$UsR#Fn$UodT$%c`Uaq@Y_Vn)Wz&P*+=0OEcO2mk;8 delta 32 ocmX@kf1H0p7YA#sQ}nxUjW0J&vSDOon0%hGn2}+#GgAvI0NTk5^#A|> diff --git a/lib/nettypes.ppu b/lib/nettypes.ppu index 090f35bc3548fcb81fb97f118739c011b6ef82b1..c5de39cc150b86e94a4eb8c6da3bd27513f0672b 100644 GIT binary patch delta 2371 zcmYk7du-EH6vyvbTl%2ey7je3w?5Va>mE491_O1L?g`u4t-lR{v97G$R_Gpf%|Jja zuef0pmV=Lfh%rXvBXQBih(VM2moWij^baK}1`~tPKa77UL?w9c@AvDE{hEI7x%Yg| zy|?$A`|ICbf3>^A;lYN+CiNL$Dz+N-u?D8=XNa(ody5< z-#4i6QMC)g7*&sg9aq)Wwo;9XureJmnt`z`nmp1GyszE>G2Ec}p}$-N9HLeL6WdC; zbpqp`T(F9UdHAFVxyWMhpPK6dZj07k`$}}39Uvc%YU`i?-_R~VG1lwqz>LGXv$U&Q zIxm#qI=vT4v4*q^!}>SDjd#fQpu^yYD(p1)z`HVKcn6>cON`Y}i@QkcFlF>YJuVqv zfvxDz-waK-KfeW<@e=7a{4&1=w&Oqf4bXzM1r4wRM+%x@C%#DfFkUNIh5(){+yc9B znKXz$leVGN)B^1oBJIFMQ$2Lz71A!eZEApSEG=q)-MFWy8TR05(w>!%i$VYq)SG=E z;AV3T4B`ROp_OON^DRG4YV#a@T-!Prq!p-1hNwK41cf-%OVFGGJ&Gfxc1;O6I`MdE z$XZHPNDj1+9U*%dZABp2fxs&NP3LHDTVr4rivA6 zm{VN}aTkxyLKagZ!+Xf{(!X{RGPqo6lcc)?+_my`dt9Q6s=e~7jYPgOYZ zD~B2{SGe(>!;p=VZ{2J(9?QfSEV!jQ2X#R?76kLpfH(Q%sMM zTB=-L9W3wP?WEA?AT5ynd>b~==IN6jJYQj!_fvz~iu~-NCpWEA4%kBT0C&68_9Q)JJRrv-bRMtUdjclKxX7IFD3x%fn2;b&|Vy2JBZ z1Mzq|F-LhcNX$86__YTMpHnCF27=*OlCF%=B+l_14f70xMN6s|=a7J+A`w_p06IDX zsFn-mVzx=d%h=+o)H!V;ei@_GaY>!m@tn(}t1c5gZ{sp`{8DEbZ@4@?jZ)`BT7st+ zEIv|0I4}_I5??M1T8qWls|vx(#~`dB9+QaAu+#0-_1i`KbDVZNvjbA+I>qutfTe|W zeYiV3v^6*V0kg<|qaZstLWl4G8J3V6gh=PqLx^4wf?@fcGAo_JPXzGogC$IA7P?XJ zn0L&ViwpchPX0Cm%Lu7S=u2cGiRpMSmP#FpjUA!;QX+D{6UPexEHQk|W6my0!++8+ zFGR2yTo49X!r|;`HSU}w dv%uTeE(rU=?U875I!X8D5{Pj?e~bNI-~UBPX1xFa delta 2558 zcmY+EdrVVT9LLYE4``vq0;NzWeM!Oc6c7a!CQ^_$r7fU{)&d2Q3RpU(=vK*e+5E#y ze}8O?$+l!>*~}JW$hItTk8H`}wk(?_%Mx8S_t&ySm%XE7ar>QfFL!vG^F6=E=bUrT zIltRKTmNcz`TYacwRM^&fvMStemCnaV(hIaIy)+EXKf>s#m>2ERomg*;3+tGf>@zB0Qq=U^sj;)-_;j^1HaRkf)n*=9&jyJrCkCj z#+&J0C_#O0*dppb7^`H{!F#GN{I@#%id+pGj-cnXwr* z;SgyZp3S%nTd`?f4Q#_Bq}%Z#X(N8Kt^t}b)6@WuV3(;9cHkmuGrn%BhMjnev;~cs zo56=Z($?kUnSB7A_<5EGy71SmGU&#_>@w(C?#QM@0ADbd({+4e_CN^lm@8ob3vw!9 z5Ib|KUU50j+(@ePWH@doJuyl3%31l_q_ z7{%_~f~19?x;K}!h!+MuSE-eA8_Kv;iNm0yJn^8MJ@RAO}y|`nmer7{nB4Qik{&NKk-7Jp>(A zpg9@hd*zR6rG^wL3P_KM9Jb|kT5RMl$td6GX|m6%@$vL}bedBvg%o;jP5J`a7kS!; zP1dwzh|;MG(fIt->)f$V_eb1;Q=uT?`f# zbVWu@ly_27+4hsFgYhv2#}!J$&xf8YYEEh@TbNYsn@=z}p-^cu#Xmu@tnC0Cxu!&sa4ML@79G)wq2$CD#h)%N6AW=3y((<5e6q+(kBG0 zR31``mu=Q9CpWIf>*RP7^;EQc9%U*1LF`zwR68xzpNy_uV9C8YQNIihQ=dk2h{AGD z5Uib(YHF!^l^v1UDD`~NQog8rl2ktz9-Ey>M32(3Ej6$5lQMsp`eHf&`7MiR0F*jO zXJvp)Hc$2m4em&3vbe}Sy(aYx+2^H{n^G6nq+TNXHJ++B@=4%6&%xgX=(6|gbY}4; zS8&m8)9EGW9emNAr%N}9%zOC0-KsNX3g=_|o}3)X`SiTQuCrN0;!7+hr%-af#%_mO zSClU@w{U?RkL3J-FOyR)IX~iOj(lBxmcZ`f9da5Z=XcC-I&|&1B6A<>$mx)re{sZF zp!a8sj8=;$o%zXr$xEjguOKjYlN$VM|JNZZ?To*;#Po3Hq5poEkQlxY|N8@TAE`bR zYVpe-`5|fFg#>s65G2jU>&~3yTmc0cTTjZ5AIuR_Q>ZtZ2u5edTOzU8Xk=`fsy0t> zUQ%9yU>+wmh62&Ch5w-?392H9mk(GDa%g9uui4kq91Mkfnp+s0(u$cVQ>SJ81J|%^ z6!C}wQ>41yf$naJJ*}{fVvvTlP|wR4EQd(-ZGC~3R*8K|VOwRk3qNvg&RkDikBE># wPe1D2ThfOqGQy*92D{u7j%hM8ih5f^p*{ZAV0da~imLq#h;hJ1@hi9IKd?w?T>t<8 diff --git a/lib/netutils.ppu b/lib/netutils.ppu index dc24bc0f421f410d478cd5dba36b2edb6965d16e..273138923e2a2856099ca317428c1945161187c8 100644 GIT binary patch delta 1120 zcmZuwT}V@582;XG+i^{uKRcT&leW3iIe(az~W*31Mc@sj>g>(~AL`YYWs098rsP~-h_yhakJm330?{nVodB5|W=Y^k3 zt!-@qS6R9GE-)2aYO^t?nXw$l@3-sCYxgP{W8oQVnQGp;J=0OIz5crNo9+0I#hDi? z!nnW~WMDP7;CHTDn1g5F1O`kCj4ClEC_(ulP7-K1W%KbJH<}WroY znkM|Jnu7D#t*(b!LL0u)Oyd*HBYM18B^bbqR&^G!)$*z#zS7|rAsenx1(Q!PBpfj$ z+i@wm(u3Sla|r~b#m7Q+S=HgTRq+OkhVeH8q-nYIfr@mKmByg|%(kab(C z?o1*4L}#yz6b!fkzj8q5@H~ph}8tP8sB-1W*uWmr)6;gp=KmF z7#=2Vv7-GM*RInn#x4uve`8&w(i=PRJcTSO#aeu?w^wG9i5$rYxDvE-+0)*5u`^*G zn3GmC8FODqukX7zniWU#9iWt+%9DFl%zY6tihH9|(WXllXqag}a4#{iD}UX+EQ(Fi zI!9u)!{NwSWZ^<42cFBZ&S2pVj(vt)UczzOVCUr==M8!MEXP$tKCj`Z79G5vV~JS6 zy&Stl3-@unBc6m#oE04q#AUI-AExb3Nt+n+2{U>^gFRz|p-9+$E!;COIyOWH9y=vq z10=P{QYWGQR`_Or-}r&fsOWCsmROM~UDx0P{Kz$#-!@&Hjo5)EdYF!ouBDb(Bd UZ&Lqoe}qyXpAxW90l{Sd52}sEOaK4? delta 438 zcmYjNJxE(&6#dTke)8XF+PoKWFiFKGL5WtAK{3UlL~W%(5L<*IBI4%Y;*`a;86F20 zaVVBn1qVUg97M2`N=ro?1R*X?E)@!`A%fov6ufW_m&4`Ud+zD;&z*@O3NG2Z)fCRFmK1@9r)I6gT^I04IkI-48n}Z@)0*k mMLqC;IR@ur`M|1@)?8Ty*ow^|#io`g0UM1;h;@V6miBuJNpt4_ diff --git a/lib/scheduler.ppu b/lib/scheduler.ppu index 2fb7bf65834963f3ac1723f2795c4ecf9d712517..c76d5557c3ca8e4f8c5f358c2ca30f438d29008a 100644 GIT binary patch delta 26 icmbO$IahMRL5}Z^QxEPDk$<@Hq#zR`mOz!94 gn7o1M8aE>&10w?~69WT-%H%?3QAWni%b9!m0d(FN6aWAK delta 78 zcmdm@wnc5i3=Y;1+MnF#+Mr}US?%vm|V#2jDyshyn#!2@;CNUpnML8Jdo_+DCK5g c1VUCO1_p+<$^C4iNc=t!pOIm+6Q`#p05P;1uK)l5 diff --git a/lib/terminal.ppu b/lib/terminal.ppu index f4b4d5debdb958c0b6ab397e22df8a04d5bd064d..e47dc42e2dc72b1315cf7a3517a6ea93e6ce2f72 100644 GIT binary patch literal 13455 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 KrygbyIrV=!Ru_W+ literal 11999 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 Q!6Z}Mc7$8_c}dRx7lJH?e*gdg diff --git a/lib/themer.ppu b/lib/themer.ppu index c00a6e76d1b435f41874c1b668486c92ab305fa4..01e781d57499296b05d67a6b1f3ea0134a06ceda 100644 GIT binary patch delta 44 zcmV+{0Mq}uBDo@viU{{XmBG9eAK|f*D**uklYj>tli&smlW+kAlj;Gt0Rgk30+$Yz C6cC;O delta 42 zcmV+_0M-AwBDo@viU%LWv)Kat2MG5;mBG9eAK|mz3h4tG`wuSw delta 40 ycmV+@0N4M<9mXB7`2hm}0RWRB0~V7K0>%LVv)Kat2M7gSLR;?kf$6i|3h4t9@DCgS diff --git a/src/driver/net/include/nettypes.pas b/src/driver/net/include/nettypes.pas index d87bc52f..61f705ac 100644 --- a/src/driver/net/include/nettypes.pas +++ b/src/driver/net/include/nettypes.pas @@ -4,6 +4,7 @@ interface type + { Generic } TMACAddress = Array[0..5] of uint8; TIPv4Address = Array[0..3] of uint8; @@ -25,6 +26,8 @@ type L4 : uint16; end; + { Context } + PPacketContext = ^TPacketContext; TPacketContext = record MAC : TMACPair; @@ -33,6 +36,8 @@ type TTL : uint8; end; + { Config } + PIPv4Configuration = ^TIPv4Configuration; TIPv4Configuration = record Address : array[0..3] of uint8; @@ -41,6 +46,8 @@ type UP : Boolean; end; + { ARP } + TARPAbstractHeader = record Hardware_Type : uint16; Protocol_Type : uint16; @@ -69,6 +76,8 @@ type Destination_Protocol : TIPv4Address; end; + { ETH2 } + PEthernetHeader = ^TEthernetHeader; TEthernetHeader = bitpacked record dst : array[0..5] of uint8; @@ -77,6 +86,8 @@ type EthTypeLo : uint8; end; + { IPv4 } + PIPV4Header = ^TIPV4Header; TIPV4Header = bitpacked record version : ubit4; @@ -98,11 +109,6 @@ type Padding : uint8; end; - PIPv4AsWORDs = ^TIPv4AsWORDs; - TIPv4AsWORDs = bitpacked record - WORDS : Array[0..11] of uint16; - end; - TTCPFlags = record RS : Boolean; DF : Boolean; @@ -125,9 +131,13 @@ type Options : uint32; end; + { Callback Types } + TNetSendCallback = function(p_data : void; p_len : uint16) : sint32; TRecvCallback = procedure(p_data : void; p_len : uint16; p_context : PPacketContext); +{ Constants } + const BROADCAST_MAC : Array[0..5] of uint8 = ($FF, $FF, $FF, $FF, $FF, $FF); NULL_MAC : Array[0..5] of uint8 = ($00, $00, $00, $00, $00, $00); diff --git a/src/driver/net/include/netutils.pas b/src/driver/net/include/netutils.pas index 48002a5b..966df264 100644 --- a/src/driver/net/include/netutils.pas +++ b/src/driver/net/include/netutils.pas @@ -17,9 +17,40 @@ function MACEqual(mac1 : puint8; mac2 : puint8) : boolean; function IPEqual(ip1 : puint8; ip2 : puint8) : boolean; function newPacketContext : PPacketContext; procedure freePacketContext(p_context : PPacketContext); +function calculateChecksum(p_data : puint16; p_len : uint16) : uint16; +function verifyChecksum(p_data : puint16; p_len : uint16) : boolean; implementation +function calculateChecksum(p_data : puint16; p_len : uint16) : uint16; +var + sum : uint32; + dat : puint16; + carry : uint16; + i : uint32; + l : uint32; + +begin + dat:= p_data; + sum:= 0; + l:= p_len div 2; + for i:=1 to l do begin + sum:= sum + p_data^; + inc(p_data); + end; + while (sum > $FFFF) do begin + carry:= (sum AND $FFFF0000) SHR 16; + sum:= (sum AND $FFFF); + sum:= sum + carry; + end; + calculateChecksum:= not (sum AND $FFFF); +end; + +function verifyChecksum(p_data : puint16; p_len : uint16) : boolean; +begin + verifyChecksum:= calculateChecksum(p_data, p_len) = $0000; +end; + function stringToMAC(str : pchar) : puint8; var Mac_Delim : PLinkedListBase; diff --git a/src/driver/net/l3/ipv4.pas b/src/driver/net/l3/ipv4.pas index 97b323bd..7ea3a59b 100644 --- a/src/driver/net/l3/ipv4.pas +++ b/src/driver/net/l3/ipv4.pas @@ -30,29 +30,6 @@ begin getIPv4Config:= @Config; end; -function calculateChecksum(p_data : puint16; p_len : uint16) : uint16; -var - sum : uint32; - dat : puint16; - carry : uint16; - i : uint32; - l : uint32; - -begin - dat:= p_data; - sum:= 0; - l:= p_len div 2; - for i:=1 to l do begin - sum:= sum + p_data^; - inc(p_data); - end; - while (sum > $FFFF) do begin - carry:= (sum AND $FFFF0000) SHR 16; - sum:= sum + carry; - end; - calculateChecksum:= not sum; -end; - procedure send(p_data : void; p_len : uint16; p_context : PPacketContext); var Header : TIPV4Header; @@ -133,8 +110,10 @@ begin copyIPv4(@AHeader.Src[0], @p_context^.IP.Source[0]); copyIPv4(@AHeader.Dst[0], @p_context^.IP.Destination[0]); - if (IPEqual(@Config.Address[0], @AHeader.Dst[0])) OR (AHeader.Dst[3] = 255) then begin - if Protocols[AHeader.Protocol] <> nil then Protocols[AHeader.Protocol](void(buf), len, p_context); + if Config.UP then begin + if (IPEqual(@Config.Address[0], @AHeader.Dst[0])) OR (AHeader.Dst[3] = 255) then begin + if Protocols[AHeader.Protocol] <> nil then Protocols[AHeader.Protocol](void(buf), len, p_context); + end; end; pop_trace; end; diff --git a/src/include/asuro.pas b/src/include/asuro.pas index 16b6e8f9..51750856 100644 --- a/src/include/asuro.pas +++ b/src/include/asuro.pas @@ -9,14 +9,14 @@ const VERSION_SUB = '1'; REVISION = '728'; RELEASE = 'ia'; - LINE_COUNT = 28339; + LINE_COUNT = 28413; FILE_COUNT = 90; DRIVER_COUNT = 32; FPC_VERSION = '2.6.4'; NASM_VERSION = '2.10.09'; MAKE_VERSION = '3.81'; COMPILE_DATE = '12/05/18'; - COMPILE_TIME = '16:47:26'; + COMPILE_TIME = '18:38:28'; implementation diff --git a/src/prog/terminal.pas b/src/prog/terminal.pas index fdb8431a..6f3a194f 100644 --- a/src/prog/terminal.pas +++ b/src/prog/terminal.pas @@ -23,6 +23,7 @@ uses serial; type + THaltCallback = procedure(); PParamList = ^TParamList; TParamList = record Param : pchar; @@ -49,6 +50,9 @@ var bIndex : uint32 = 0; Commands : array[0..65534] of TCommand; Working_Directory : PChar = '/'; + Halted : Boolean = false; + HaltID : uint32 = 0; + HaltCB : THaltCallback = nil; procedure run; procedure init; @@ -60,6 +64,8 @@ function getParam(index : uint32; params : PParamList) : pchar; procedure setWorkingDirectory(str : pchar); function getWorkingDirectory : pchar; function getTerminalHWND : uint32; +function halt(id : uint32; cb : THaltCallback) : boolean; +function done(id : uint32) : boolean; implementation @@ -69,6 +75,42 @@ uses var TERMINAL_HWND : HWND = 0; +function halt(id : uint32; cb : THaltCallback) : boolean; +begin + halt:= false; + if not Halted then begin + Halted:= true; + halt:= true; + HaltID:= id; + HaltCB:= cb; + end; +end; + +function done(id : uint32) : boolean; +begin + done:= false; + if Halted then begin + if id = HaltID then begin + if HaltCB <> nil then HaltCB(); + HaltCB:= nil; + Halted:= false; + HaltID:= 0; + done:= true; + console.writestringWND('Asuro#', TERMINAL_HWND); + console.writestringWND(Working_Directory, TERMINAL_HWND); + console.writestringWND('> ', TERMINAL_HWND); + bIndex:= 0; + memset(uint32(@buffer[0]), 0, 1024); + end; + end; +end; + +procedure force_done; +begin + HaltID:= 0; + done(0); +end; + function getTerminalHWND : uint32; begin getTerminalHWND:= TERMINAL_HWND; @@ -381,13 +423,14 @@ begin console.writestringlnWND('Unknown Command.', TERMINAL_HWND); end; - { Reset the terminal ready for the next command } - console.writestringWND('Asuro#', TERMINAL_HWND); - console.writestringWND(Working_Directory, TERMINAL_HWND); - console.writestringWND('> ', TERMINAL_HWND); - bIndex:= 0; - memset(uint32(@buffer[0]), 0, 1024); - + if not Halted then begin + { Reset the terminal ready for the next command } + console.writestringWND('Asuro#', TERMINAL_HWND); + console.writestringWND(Working_Directory, TERMINAL_HWND); + console.writestringWND('> ', TERMINAL_HWND); + bIndex:= 0; + memset(uint32(@buffer[0]), 0, 1024); + end; pop_trace; end; @@ -395,22 +438,28 @@ procedure key_event(info : TKeyInfo); begin if TERMINAL_HWND <> 0 then begin //writeintlnWND(info.key_code, TERMINAL_HWND); - if (info.key_code >= 32) and (info.key_code <= 126) then begin - if bIndex < 1024 then begin - buffer[bIndex]:= info.key_code; - inc(bIndex); - console.writecharWND(char(info.key_code), TERMINAL_HWND); + if info.CTRL_DOWN then begin + if info.key_code = uint8('c') then force_done; + end else begin + if not halted then begin + if (info.key_code >= 32) and (info.key_code <= 126) then begin + if bIndex < 1024 then begin + buffer[bIndex]:= info.key_code; + inc(bIndex); + console.writecharWND(char(info.key_code), TERMINAL_HWND); + end; + end; + if info.key_code = 8 then begin //backspace + if bIndex > 0 then begin + console.backspaceWND(TERMINAL_HWND); + dec(bIndex); + buffer[bIndex]:= 0; + end; + end; + if info.key_code = 13 then begin //return + process_command; + end; end; - end; - if info.key_code = 8 then begin //backspace - if bIndex > 0 then begin - console.backspaceWND(TERMINAL_HWND); - dec(bIndex); - buffer[bIndex]:= 0; - end; - end; - if info.key_code = 13 then begin //return - process_command; end; end; end; @@ -452,9 +501,14 @@ begin resetSystem; end; +procedure teapot_halt; +begin + console.writeStringlnWND('Stopped. [CTRL+C]', getTerminalHWND); +end; + procedure teapot(Params : PParamList); begin - console.writestringlnWND('Teapot?', getTerminalHWND); + terminal.halt(555, @teapot_halt); end; procedure init;