From 1c63ba713cf7594e05c730df3f672a865839d4d9 Mon Sep 17 00:00:00 2001 From: yutaka Date: Tue, 23 Oct 2007 05:11:33 +0000 Subject: [PATCH] add HMAC into systemCall.h git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/twl_wrapsdk/trunk@304 4ee2a332-4b2b-5046-8439-1ba90f034370 --- include/twl/os/common/systemCall.h | 18 ++++++++++++++++-- lib/ARM7-TS/etc/libsyscall_sp.twl.a | Bin 1820 -> 3164 bytes lib/ARM9-TS/etc/libsyscall.twl.a | Bin 1820 -> 3244 bytes 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/include/twl/os/common/systemCall.h b/include/twl/os/common/systemCall.h index 608264c..ab10f6d 100644 --- a/include/twl/os/common/systemCall.h +++ b/include/twl/os/common/systemCall.h @@ -17,6 +17,8 @@ #ifndef TWL_OS_SYSTEMCALL_H_ #define TWL_OS_SYSTEMCALL_H_ +#define SVC_SHA1_BLOCK_SIZE 64 +#define SVC_SHA1_DIGEST_SIZE 20 #ifdef __cplusplus extern "C" { @@ -40,6 +42,14 @@ typedef struct SVCSHA1Context } SVCSHA1Context; +typedef struct SVCHMACSHA1Context +{ + SVCSHA1Context sha1_ctx; + u8 key[SVC_SHA1_BLOCK_SIZE]; + u32 keylen; +} +SVCHMACSHA1Context; + typedef struct { void* output; @@ -97,18 +107,22 @@ int SVC_RandomSHA1( unsigned int src_len // 入力データの長さ ); -int SVC_UncompressLZ8FromDevice( const void* srcp, +s32 SVC_UncompressLZ8FromDevice( const void* srcp, void* destp, const void* paramp, const MIReadStreamCallbacks *callbacks ); -int SVC_UncompressLZ16FromDeviceIMG( const void* srcp, +s32 SVC_UncompressLZ16FromDeviceIMG( const void* srcp, void* destp, const void* paramp, const MIReadStreamCallbacks *callbacks ); +void SVC_HMACSHA1Init( SVCHMACSHA1Context *ctx, const void *key, u32 keylen ); +void SVC_HMACSHA1Update( SVCHMACSHA1Context *ctx, const void *data, u32 len ); +void SVC_HMACSHA1GetHash( SVCHMACSHA1Context *ctx, u8* md ); +void SVC_CalcHMACSHA1( void* md, const void* data, u32 len, void* key, u32 keylen ); #ifdef __cplusplus diff --git a/lib/ARM7-TS/etc/libsyscall_sp.twl.a b/lib/ARM7-TS/etc/libsyscall_sp.twl.a index 5ae53a5290a7da0e5489b5b7a8c94abdb506045e..3c350aa624b844c6b82f564925a15ec5653cbe25 100644 GIT binary patch literal 3164 zcmb_eU1%It6h5=f&t{u6+a$GCV>@l4jg}@G6V@n2CT^M^=*qg;_z+q;<7R4tNp_iC ze*%i3rf-div><}G4=Lm^4}wq-BIKcuc@liGyGzhEFTSZLtlycLJDEFVg@PxUx#v6Q zyXW5T&dl9=_L5;`=UzA~;T3JFuFj}8z~ zEX^q+9+JGhC?OSqX{lW>?) zE^bBJK`o?9`3PAqj@bF5bW6&&(p?F+(WZot(R~TG)6Wu)(myWVLE8cSZ9aWb#JXLq z+WAg;*~L6g2h>ivc-6)yiKgF9T%THAC{8cDyF6(cdFn0Nu`x4it>la8>Cr%hiHC&7 zE~iCwdUAA-OZxFle$FVG{>X$`oHPpaB9t%|v)s|cxuv{enf_4PSf0x*`6DySS@{EvfeQM^kDoTKb4#i!%QYe6W)B2Q`Zyu_Y=AN$_Vuu_A-dPn7jTJIIq z#6aT01@%VGQb*HCb*Mjvzri7Aqp_v&P5mW5;Q=^j1NdA3_XM!sb7YLpJ)`%!@#h2i z+v7^NKK_CiJ@0wWsC@zaVgM@v917qO?cyVCH(4QVs~k#|%6&xmbZ4sgOwhhn#r_!4 zfE$UvZd6O)OI3=lS2!P{wTE-GyB8<5 z5~3e}Rn(i64Z5>OlrH~Kt6_^-uf(Gz9`kW1x^3q*N>~4`)$TW-Hjn4jDwQ>^3#{#~ zS4OlSemh+o;Jj!2c$BA!{;bt%yjLlw9e;y;Y<3*~j{T<`KMeguDb!4NLN6}XP5WWD zc9)L}mtx>&uwIIWd8M{6cBWJ1KG2HvKI`uCbllYZ_tiSO8(rO8i+!P+ z$6?&%t^@lGQD==ZyX%!$U`@I)DFxdc>t1BvU4xI=ch}&y&;QEDhfD2r@lhU{H~AgW zx5^6Mk&uS*?RCny@5xLRdvD|ceFJT&Y6$+0>tit^4^)n?S9UOWl-y^(5p!-(-DeBj zqR>IO z#+?Jkef+#_fUN+B;j_5>-ShZBdJf_By1XVgR{{_Jo(caYM7W;dZPnq$0=(@yym)}O zTZeZkzN@bP&%{yr;bGpWyPZvksn$m@rY} zGX#XsxmEDEKlkO$kB#x?xcv3L0FTd5!bFWb2ne5ZS~HP&H^kYJ>wSyMUvCw>Rm6me W8ut(ozMTt`eMaZL*v4$*djA5=Y5+q3 delta 223 zcmXBL&k6xi7zOY<_ui>{r|9|9rbhUmHFZ7;Bd=qsU=R;t3o` qjcqlM%T>gw@PVy1hIIhJo(s|qnjKqVW62Tve@HpWB diff --git a/lib/ARM9-TS/etc/libsyscall.twl.a b/lib/ARM9-TS/etc/libsyscall.twl.a index 5ae53a5290a7da0e5489b5b7a8c94abdb506045e..fb6689d7743ec2baeb6b74f01d4f1b670ebf03ec 100644 GIT binary patch literal 3244 zcmb_eOKcle6usm895-p)#Gw>InKpq2s-_8v+^DM11gH5(HFEPoC~8$3XG$XC*s{$h z3q*i)M^J^@O(ldEt`t=)vZJb~RG}_du*eFP6|qgEmTcGo0?C~FX5Mt(5F=IMCNuAx zd(XS?-RtM^966K7CKp}}4+vrb)2kDTjcpn|0lM3&kF@<;1oWc(}y{kvwcGTZ#=eKwx9aDG{omRM? zVm5EV*iOw9SK0@|@25KoZ=;_S9;Cl*{s3b;>Th+`7lg0N z=3OG*L9f{Sw&0yKY4f7s2Z^TNh+LXnUd&G~zP&tQCNk8M7rs$5nO(``r=~|d9v1H5 z8a+EDz0(sT1Dw*$XEXDOyy^CgoB4@EZb7;tiKQe@ba*sW!&L`@ZG#d- zJ2^daGIIR5emR}hN2a3sU|&D}1_rGMjVO(8`p=nhhX5S$@S`5y?cwq6x=}j%OuWbT zzu<{~Hl}sO$6j>2#~fs>+UwyjdAR1`J`W!@PCPQUqGd8ROTJj4WNfYbhF9<6sXANn z5#eimz9M}Fd<{f58uUVGp4Q6P!ET5Ol_IU};Q8^ZMun1y1+7>ywzgBGYdaJyRES~~ zB)viUdRe2j?RnbT(SjeB!=!_M_lwZc`O@#z>S+UOHWJ+;f>vMM4r2}0vY)koRjYUE zu@fGWO>5N5=*=JO;TBtBmcQTxD$c zq~O9|Gq&}B)J7*BWzd5SK11=%l7=(nGYX{*^dMv0^#?H?uJW(cOa*5I=V`X$jeSpF zqV5=T7ohq&B*&OpcSRMKRQPvMZ5V^^W$`8*d7P+`nJ$K}pf zfbO;x7I&HB8koc!h&K_*vmxJAIp0^flzh+?d4g>+$4zjFITZ7gc<1N2c#H|-eE$IJ CV^PJY87!a0GFfq@Aq!8@6gQ=0VxkoRX|qwr)KP65^nK=GW( zft<>$4nVESAmJWP0j2`x$@4hXm>NKo*yKAvkqOL`-vLDyKty!71ei83PqyPyV>$p4 vsR4>yV4mCu6nOvv5|wDu4t4TCzI0