Added the CCAPI library files
authorMiro Jurisic <meeroh@mit.edu>
Fri, 21 Aug 1998 21:00:56 +0000 (21:00 +0000)
committerMiro Jurisic <meeroh@mit.edu>
Fri, 21 Aug 1998 21:00:56 +0000 (21:00 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10858 dc483132-0cff-0310-8789-dd5450dbe970

src/mac/libraries/CCache API/bin/CCacheGlobalsLib.68K [new file with mode: 0644]
src/mac/libraries/CCache API/bin/CCacheGlobalsLib.PPC [new file with mode: 0644]
src/mac/libraries/CCache API/bin/CCacheLib.68K [new file with mode: 0644]
src/mac/libraries/CCache API/bin/CCacheLib.PPC [new file with mode: 0644]
src/mac/libraries/CCache API/include/CCache.h [new file with mode: 0644]

diff --git a/src/mac/libraries/CCache API/bin/CCacheGlobalsLib.68K b/src/mac/libraries/CCache API/bin/CCacheGlobalsLib.68K
new file mode 100644 (file)
index 0000000..c712add
--- /dev/null
@@ -0,0 +1 @@
+(This file must be converted with BinHex 4.0)\r:&%0$B@0SC8GXEf*KE(0-D@)Z0MK,!(0SE')rN!3"!!!!!3S!!!'@9&&+EhNKF'9\rQCQdf1'X!!!!"XJ-Yc`#3$3-!!J#3'j3!!3)!N!3&!*!(5!!!!%J!!!!2!!!!P!)\r"!J#3"!i!N!pQ!!!!T!3"!J"0B@PZ!#9"09G[FQaN!%a[B@4PFJ#3"5SL2c`")`D\rTm!)Lrrd8F[q3"!#3"2q3"!#3"2q3"!#3$`%!!!"%!!!!4!!!!&!!!!!"!!!!!3!\r"!*!+Cd0ZG(*X3Qa[BfX!!!3!N!8"!!YC8!%!N!B%!!&+E`!!!3!!!!&N!!!!C!!\r!!$)!N20J!*!,!3#3%`&Y0MKV!*!6!3#3%8!968P8Ak9$3f&MD'9(E'pLB@ac6'P\rL!!!"!!!!!@3!!!"N!!!!-JIQFT!!0)3!!!!F!$)!!'0QFQF!!!!+!!$rr`#3#2M\rH:\r
\ No newline at end of file
diff --git a/src/mac/libraries/CCache API/bin/CCacheGlobalsLib.PPC b/src/mac/libraries/CCache API/bin/CCacheGlobalsLib.PPC
new file mode 100644 (file)
index 0000000..0cbf621
--- /dev/null
@@ -0,0 +1 @@
+(This file must be converted with BinHex 4.0)\r:&%0$B@0SC8GXEf*KE(0-D@)Z8&"$!(0SE')rN!3"!*!%m!!!!CE2$8T[H5&`C@C\rQF(G`B`!!!!'b!eJ&!*!0!`!#!*!%rj!%!*!6m!!%"!$rN!3!N!F)!*!,m!)%"!$\rrN!3!N!pQ!!!!J!3%"!#3"Iq3"!#3"2q3"!#3"2q3"!#3$`%!!!"%!!!!4!!!!&!\r!!!!"!!!!!3!"!*!+Cd0ZG(*X3Qa[BfX!!!3!N!8"!!YC8!%!N!J"!*!+'cF!!!%\r!!!!"C!!!!'3!!!!bD!6-re!"%!!mrAhrbJ#J!E`%e`-Yrp8$aIeN!'m$#[Zk!`S\r#'`%q"!8#NJ0S!em&F3'D!2IqRrfKrDImPJ!TrHX#(`04"!!"C`2[!'hpY!Bjr+-\r#F!)Er`%"ZJ1&![`!P31k!A`#-J-#!U(qfrhD!)hpjrkC!&2r2[rc"+J#X30b"8%\r"iJ)d!T`!G`&8!#!"jJ$-rGS$BIa`!#!#Ir[Y")6rHJ0%!pi#``5U!)3#rJ%-!TJ\r!C!(N!"cqcJ6"rNd#YJ+Hr8`$Irhfrm!"1J(L!R`$$`0`rXB%M2kE!Tm!QIq*!K[\rq`3'[!BX#0!$`!F)"!!!!B!#3#`%!N"-"F(G`B`#3%`%!N"&!&8e*9&qP3d0KBfK\rP4fa[BQ&XFdaTBJ!!!3!!!!&N!!!!C!!!!$)(jR+3!$6L!!!!(!!b!!"MCR*R!!!\r!#J!!rrm!N!3(l,UmQ-m:\r
\ No newline at end of file
diff --git a/src/mac/libraries/CCache API/bin/CCacheLib.68K b/src/mac/libraries/CCache API/bin/CCacheLib.68K
new file mode 100644 (file)
index 0000000..25e7da5
--- /dev/null
@@ -0,0 +1 @@
+(This file must be converted with BinHex 4.0)\r:$80$B@0SC8aTBLif1%X!FfKXBN0"*%J"!!!!&f)!!!'5&rP+EhNKF'9QCQdf1'X\r!!!!"XJ-Ye3#3$3-!!J#3$K)k!!!51J!!%MS!!!#8!!%#!*!%"3#3"J&!!!!"3!!\r!!)B!!",3!J%#!*!%$J#3$J3+!!!6@!3"!J"0B@PZ!#9"09G[FQaN!%a[B@4PFJ#\r3"#T451FB1#4[!"JS,`!F*Lm!)#K[!#3JEIq`*P!J#fBb5(J!%'(r!!!+(L5!*P)\rJ#fB%F!CJ2%+V!!3J8N+3!#"53UJ!##"53UJ!$#"Yrl!JNQ!#*)Y`!EL!E`4`#@!\r85S0R"L"$F!%JJ#!-C`3SVIrmF!"-ha`B6R3!%#T451F!-#4[!!`J#QFB*P)J#fF\r5,`YKr`!!%)S[%Q(r!!!*3'!%F!TJ"%+5F!"-h``!6R3!"#T451FH1#C[!#!Q,`!\rN,#m!+#K[!#`U,`!`+#m!0#!,CJC`#Q!!!-a)H!)QBIm!!!PQ*%!J#QB'F!CJ!!#\rf5S0R%L"$F2p5J%SBC[S-J!!!!2pP"R!"B!!!QL"+)N-J#"$CC[`J$'F5)%a`re+\r!5KKQqJb!!!!!rf8%F!aJG%(U!33L6#!)%0PQr#9&!Ja#DJ)%*8B"!"9m!!)#%("\rN*8!#%Lm+BIm!!!NS*8!##%UU!JKQ"(!'B$T+U`!)CK"#UJ)L3US#(LD+*dS!"'!\r@)'X!"#&+!KiPD`!%!L*#UJ)H*dS!"&+V!!K5U`!-)%3JLR!!60mFH%jd!"JU88j\r@rrK)ja`m+Li!##KZ!!`S,J!3*Qi!'(B!5S9Q"(!+B%3J#fB%F!aJ2#"&*&"J)Lm\r+,``LEIqi)&P1N!!UE[rd5S"Q#VLU!3"Q"(B"B!3NDJ)H)!TR"%S$CpC+!fF'*ST\r`!'!#F!T-ha`i6Pj1G!!8+P&)j`!i*Qm!%#K[!"3J#fB%F!TJ)L48$#S!!J)3CJ4\r`$Q!8,`S[#f(r!!!-!Lm+BIm!!!H-F!"-ha`!6R3!##T46PErq%MR'$`QEJ!)*Li\r!$#"$*&!J#fB'F!TJ!!##F'5`UJ)5Ca![#Q(r!!!1`NS!CJ4`#'"S5US#)QB3*US\r#(LKU!KiJ$'F%3U`#)NUU!KjQ%LGU!L)!"#KU!L)J$'F%3U`#(LJU!L*R&LKU!Ki\rJ$'F1+83#)L"U!L)KDJ)H!Ki9I!!"!K![!bm,)Qhrk#"C6T!!+Qlrp#J!8UX!$#!\r%60mF'%jH6R3!##T4)Qm!"#"[!!JJ#@B%F!TJ$L!)C`JJU3!-F!"J!R!-6R3!##T\r451F3-#C[!"!NE`!8*LS#%R"NYS"R&R"QYS"Q$#m+BIm!!!hq5J"Q"(!)B$!J#fB\r%F!TJ+#!+CJ4`#Q!J,bm!(#m[!"`[#Q(r!!!+!#B!5S0Q"&+V!!K5U`!-)!0-h``\r)6R3!%#T451FB1#K[!"JNE`!F*LS#%R"NYS"R&R"QYS"Q$#m+BIm!!!fB5J"Q"(!\r)B&ai!'"8,bm!*#m[!#3JDJ)))(!i!#mS!!3[+!!!BIm!!!V)5J"R(#"U!JJQF$J\r!,`YKr`!!$F)JDJ)))(!i!("M))"5K&L$-#S#"%M!Z)"YY&+X!!a`!'!%GJ"JkNc\rI("K1G!!3+P&19[ri51FB2#CZ!!JNEJ!-+#i!%#KZ!"3Q+J)5F'5fJ'F@F'DfJ'B\r-,`TKr`!!$2T+!'B%F!KJ,L!+CJ4`#Q!QZ+S"!'F%F!TJ(%Ki!2m[$%KU!33LEIq\rd)&P1N!!UE[rd8UX!$(!!60mF'%jH6R3!%#T451F!-#4[!"!QE`!8)!TQ"(!+B$C\r`CV#U!K*Q%#m+BIm!!!b85J"Q"(!)B"iJ#fFB5(J!rf(r!!!%e#D!)&0$kJ%%)!J\r3f@EmF!"-h``!6R3!$#T451F!-#4[!"!QE`!8)!TQ"(!+B#C`CV#U!K*Q%#m+BIm\r!!!a!5J"Q"(!)B!iJ#fB%F!CJ"LDU!3"`!%cI$!"1G!!-+P&)j`!`*'m!%#C[!"3\rJ#QB%F!TJ0("QX+S#%QB3,`TKr`!!#ra+!'B%F!KJ(#!,CaC)H!$rBIm!!!3m*S!\rJ8b*+)!J3f@EmF!"-h``!6R3!$#T451FB1#B[!"JS,`!F*'m!)%U%C`JJ#QF%5S0\rQ"(!+B%K+NQBD5(J!#'(r!!!$pL5!+&)J$'B%F!CJ,L"$+*!!)&)S8#!-CJi[%Q(\rr!!!%%%+5F!0J&#m%,`aKr`!!#DiQ8L"6*UJ#(R!!60mF'%jd!!`U88MR($K46bB\r[!#3QE`!S+'m!,#4[!$!J#fF))!TR"%U$CJC`#Q!!!6K`CV#V!K*Q%Lm,BIm!!!X\rN5J"Q"R!)B!!"(NU5CL4)H!!)BIm!!!0L*)!Q%QB'F!CJ!!%%)%0#U!!%B!BJ3e+\rS!!3k+`)%-!9)`#B5)%-S+!!%Z)"X%L!%jBJJD`)))(!)!("MX*!!Cp3`"8M!Z)"\rY%#m5BIm!!!0-3T*`!f!!!,JJ"1@))'X###S`#!!J45B3F!'fJ'Cb)!aQ"R!'B!!\r!Q%Ki!!KKr`!!!Z!SJ%U8CJC`"Q!!!)*)H"eqBIm!!!,+)&3K3!!%)&3Q+!!%CJ4\r`"Q"N)&)J+!!%jBJJD`)))(!)!#"S!!3L3b!m!!!GIR)JX)&P"+)ZB!j+J'F+)JN\r5f&1!C[SL3@!QF!+fJ'BF,fJ!"!!%F!)ZJ#m-,bm!##m[!!KKr`!!"*KJ"(!3B!J\rJ8P+S!!4`!&"260mF1%jd!"!U88j@rrK)jaJm+'i!##4Z!!ai!#!+CJC`"Q!!!*)\rJ,!!)8S$PL#m!)Qhrh#"C6T!!+Qlrp#5!5T*Q"(!'B(!Q9'"S5(J#!L*Yrp`J@8k\r3!#TZrr3J8L'!1!!S8NUd1!"Q"(!'B%SJG$J!)NXJ#"$CC[`J8L"`1!""k!$r3qX\r""#!)%0PQr#"5)(!i!#&V!3!"rLCV!Kj5K&L$)!YQTL!%jBJJ8N+`#!"`!'!%GJ"\rJkNcI("K1ANjd!!JU85m[!!KKr`!!!F"`!%jd!!JU85m[!!KKr`!!!Dj`!%jd!!J\rU85m+*'m!$#!+CJ4`#Q!8,a*Kr`!!#@J[%Q(r!!!"L%+5F!!NAdjd!!JU88j@rrK\r)jaJd*Qi!$#!,CJ4`#Q!fH!"J,Lmb1!!LEIr-)&P1N!!UE[rd8S4BJb465V)i!'E\rN,a-LEIr-)&P1N!!UE[rdF!"J"(B!B1*-h``B6Pj1G!!)+P&19[rX51F3*#4Z!!`\rQ,J!35'lrm#*YrpJJ@8k3!#TZrqK`C,#U!K*R'%KZrqp)DJ)@5'lrm#*Yrp3J@8k\r3!#TZrqJJ!e1!C`a6J'F58i"R0Q!!!)C`C#9!!K*J!!#!*LS#%R"NYS"Q&("P*8!\r#%L9Zrr!#&L9Zrr3#'Q"JF'DfJ'CDF!KJ@#BU!K*`C,D!CK4`CL9!!K)PE[r`!KB\rPE[rd!KTJ1("QYS"Q#NSZrqpQ"(!)B#T`CED!CL*+,[r[Ca4`CL9!!K)PE[r`!KB\rPE[rd!KTJ#(!)B!C`$'!#F!"-h`3)6Pj1G!!-+P&19[ri51F3*#BZ!!J[!b*Yrp`\rJ@8k3!#TZrr3N3#m$,`SLEIr))&P1N!!UE[rd)!T-h`3)6Pj1G!!%+P&19[ri51F\r3*#4Z!!J[#L*Yrp!J@8k3!#TZrr3Q!#m$3UF[#L*Yrl`J@8k3!#TZrr3[!d+R,`S\rLEIqm)&P1N!!UE[rd,`-[#L*Yrm3J@8k3!#TZrr3[#L*Yrm`J@8k3!#TZrr4-h`3\r)6Pj1G!!%+P&19[ri51F3*#BZ!!J[!b*Yrm!J@8k3!#TZrr3N3#m$,`SLEIr))&P\r1N!!UE[rd)!T-h`3)6Pj1G!!%+P%[#L4[!!K#DJ)%0A`!#J)'5(J!+'(rN!5`*8!\r###!U!JJNAdjd!!3U88MR!$!NE`!-*+m!%#9[!"3!"%U[!"KQ#%+U!!K`!'!q,bm\r!&'(rN!4f*8!!##CU!!JJ#fB%F!CJ*#*,)'m!'#![!"4b),#"C35L,Q!15S"R#L)\r*%YK6J'Ek)N&`!%cI$!"1G!!3+P&)ja`i+'m!(#4[!#"i!#C-)!aQ#%+5B!!!T&+\r%5TYQqL!%8S$PL#m!BIq3"!SNJ#S!*NaJGNKi!!aKrrrrr[JJ8L#!)P)L85"8F!a\rb),#"C35L,Q!15S"R#L)*%YK6J'Ek)N%J8L"3,bJ!"'(rrrrqaL"5)&!K3!!)*K3\rJ3b!S!!3L8L*4)QN!##"$)'J!#()JX)&P"+)ZB!j+J'F+)JN5f&1!C[SL39L+@)Y\r+NfD')!6PL#"&3V!)!#5&60mF1%jd!!JU88j@rrK)j`!m+'i!%#CZ!!`J$'B'F!C\rJ!!%'5(J!#'(rrrrq6LL!5(J!6'(rrrrq3L4!)!TQ"R!'B!!!j%Ki"1*KrrrrrL`\rNJ%U5CJC`"Q!!!-j)H!6LBIrrrri@*8!!"%UU!!4Q"R!'B!!!Y%Ki"0m[%bm5)Qh\rrY#"C6T!!+Qlrp%Ki"0m[+`!%,bS!"#*Yrl3J@8k3!#TZrr3[+`!3,bX!$#mV!!K\r)DJ!)BIrrrriS*@X!&!!8*@X!'!!B*@X!(!!F*@X!)!!J*@X!*!!N*@X!+!!S5'S\r!,#mV!#aKrrrrrPi[+`!i,bX!0#mV!$")DJ!`BIrrrrhJ,bX!4#mV!%![+`!m5'S\r!2'(rrrrpbN+U!%JJ9(!#))!J9#&+!!4`!%cI(!"1ANjd!!`U88MR!$!NE`!8)!T\rQ"(!'B&T)H!!)BIrrrrdZ*)!Q8L!,CJ4`"Q"%F!%QJ%Ki(AjKrrrrr43Q3#!,CJ4\r`"Q!X)NXJE`!3)$`!!"eqFL#`J@8%SLjJ$NU!C`SL#4,B8i"QqL*")&)K5`!%F!"\r-h``!6R3!$#T451F!-&P2*'m!%%+A8QS#"$!U!J5`DJ)'CQ)`+J)'d%!e3!)'-#S\r#"NM!jBJ[!'(rrrrmS#C!)!YQ"R!'B!!!LM!U!JC)`%am#!#3"!,PL#*,)'S##()\rJX)&P"+)ZB!j+J'F+)JN5f&1!C[SL35mU!JKKrrrrqr)P5`))F!'`V`!8CK*)9bm\r[!"`[,`!FBIrrrrlmB"j`!V#[!"4Q%NKA,bm!(#m[!"aKrrrrrEKJ"(!3B"3`+J)\r%5-"6J1@))'S###'A#!"`!&K260m-!%jd!!`U88j@rr4)jaJd*Qi!##4Z!!ai!'!\ri)'S###e`1!$rp%KZrr3[#b*Yrq!J@8k3!#TZrr"5K&L$-#S#"%M!Z)"YeLmU!JK\rKrrrrqdj`!'!%GJ"Jj%cI$"K1ANjd!!JU88j@rrK)j`!d*'i!$#!+C`JQEJ!8)!Y\rQ"R!!B!!![#!Z!!L`VJ!3C`C`!'!!!+a`!E#Z!!KQ@NKV!!&)DJ!")QhrZ#"C6T!\r!+Qlrp%U!CMj)D`6M5'S%ib*YrlJJ@8k3!#TZrr4+J'BQ5'X6L8KU%iNLEIqi)&P\r1N!!UE[rd5S"Q$L!U'(b`UaKmCJ4`!@"-F!"J5(!#X+i!#'Bq,a-[%L*YrlJJ@8k\r3!#TZrr4+J'BQ,bX!"#mU!!3LEIqi)&P1N!!UE[rd5S"Q$L!U!"L`U`!BCJ4`!@!\r'F!"J!R!!60m-!%jH6R3!%#T451FF1#C[!"`SE`!J)!aQ"R!'B!!"4%Ki!LCKrrr\rrqI`SJ#48)%SL5b!)%0PQr#9V!3!"!%(U!34$k`%%)!J3f@Em0@X#"!)%0@X#"J)\r'&A`!!3)3-#S#"NM!jBJ[!'(rrrrjZ#9!!JKi!'!!!1JJD`))+(!i!#S8F!'kJ'C\ri5(J!#'(rrrrjP#"U!JJKJ$J!)'S###"`1!"`!5#!5(JGIQ(rrrrjGL"U!JJJF$J\r!)8!!"#"U!JJJF$J!+'J!"#!-CJC`"Q!!!*)L6#"V!JJJF$J!)'J!"#!m!!!GIR)\rJX)&P"+)ZB!j+J'F+)JN5f&1!C[SL3@"#F!+kJ'BB)'S##%K`1!![,!!%,b`!!'(\rrrrrl3'!NF'1kJ'BH5(J!#'(rrrriq#"U!JJKJ$J!)'S###"`1!"`Bb#!8S4BJc!\rU!J4)`,L!E3$r+%+U!L*#UJ)HF!"J"(B!B14-ha`i6R3!##T451F!-#4[!!`J#QB\r1B"S[+`!)BIrrrrMF@)SQ8L!,CZi[#Q(rrrric%cI$!"1G!!%+P&19[ri51F!*#4\rZ!!KJ%#m+,`SLEIrN)&P1N!!UE[rd5T*Ql(!!*&p1ANjd!!3U88j@rqa)ja!N*'i\r!#%KZrqiLEIrB)&P1N!!UE[rS0J!`!dM!C`4`!'!dF'5`UJ)5Cb4)E[rh5'S#&NK\rZrqiLEIr8)&P1N!!UE[rS0J!`!dM!C`K`!'!)3Llrpa!ZrrG-h`3)6Pj1G!!%+P&\r)j`!i*Qm!%(!#X*0QCL4V!!3[%Q(rrrri%LmU!!4Krrrrq!K+UJ!3C`S[+J!3BIr\rrrrIi5US!1'F+,bS!1'(rrrrhk%UU!%4R#LmU!%4KrrrrppJSDJ"))!aR##m-BIr\rrrrlB+'S!,#!-C`J[$'(rrrrqb#mV!!4Krrrrpkj`!%cI(!"1G!!%!!!!1b'J!L)\r"#!)`!4"0593J55p6)%eKBd4PGS8$!83!!"XL2c`")`DTm!)Lrrd1)JLfJJ)R!&J\r)B!"B#$B!@!JN!&J)%J"B"eS!@!A`!&J&IJ"B"5`!@!6S!&J%P!"B"#)!@!13!!"\rB!bS!@!-'!&J#A!"B!K`!@!'U!&J!X!"B!(S!@!8K@!J!!2q3"!#3"2q3"!#3"2q\r3"!#3"`-!!!!-!!!!!3!!!,`!!!$)!!!#T!!!!!3!!!!9!*!2!3#3#b)!N!X$!!!\r!!3#3"d8!N!X)!!!!"!#3"!%!!"B#!!![!J!!0`)!!$i#!!"5!J!!A!)!!'N#!!"\rd!J!!I`)!!)S#!!#@!J!!U!!"!*!&"J#3")!(5JY#!J%"J$G'&%e*9&qP3d0KBfK\rP4fa[BQ&XFdaTBJ"R3fjdFQa#E'pMD`"0594IT8e*9%0-D@)!Fh4bEQ0`H3"cG(*\rMEA!!E@9YFf9d!%PZG'9bCQ&MC8aTBJ"1CAG3G(*6HA-!9@jSEfaN6@9YEh*j!%K\r[E'40C@e[FRN!4'PcF'pcC9"dFJ"(CA43G(*6DATP!&0KE@93FQpMCA0c!%GPG%0\reFR*PER43FQpMCA0c!%jPGe"dFJ"MBepRCA4IBh*PC&pfCA*cD@pZ!'0MAfCbC@9\rI6N0ID@jQE`"MBepRCA4IBfKKEQGPAh4TE@8!Bf0IC'9cG(*[H3"MBepME'pcC3"\rMBepMFQ9KG'8!Bf0ICR*PC9pMFQ9NF`"MBepRCA4IEQ&YC3"MBepQFQ9PAh"bD@j\rMDA"KE!"MBepbC@e[GQ9IBh*PC!"MBep[F'9Z!'0MAfGPG&p13epTEQC[!'0MAh0\rPF9pQCA4MD&p13h-!Bf0IFf9dAh"bD@jMDA"KE!"MBepcD(9dC'phEJ"MBepcCA&\rICQ9dBfKIBh*PC(-!Bf0ICf9dAh"bD@jMDA"KE!"MBepTEQPdD@&XDATP!'0MAh0\rdEh*P!'0MAfa[BfYIFQ9aG@9cG!"MBepQFQ9PAfjKE@8!N!B%!!!!$!!"!!J!"!!\r!!!B!#!!'!!J!#!!!!!S!"!!+!!!!#`!3!!X!$!!2!!!!%J!%!")!!!!6!!J!%`!\r6liN!$c0A!"*09`!+QYm!##E2!!P-)3!0cUm!#cEk!"(i"J!1jP-!"a0-!!kjaJ!\r3JV%!%)`+!!XpI3!5#&i!%-`,!!h)j3!)*`d!$aJH!!aR@J)!!+m!!!$B!!%#!!$\r$!!!!Q!!"!J!!d`!!!3!!!3)!!1B!!!%)!!%#!!$a!!!"%!!"!J!!qJ!!!5!!!3)\r!!33!!!#J!!%#!!%5!!!!d!!"!J!"(J!!!,!!!3)!!6!!!!$`!!%#!!%r!!!"'!!\r"!J!"4`!!!,J!!3)!!9B!!!$)!!%#!!&R!!!!k!!"!J!"H!!!!5J!!3)!!B3!!!$\r!!!%#!!'A!!!!i!!"!J!"U!!!!6!!!3)!!EB!!!$i!!%#!!'r!!!!N!!!!3)!!Fm\r!!!#S!!&ZRJ!!!3!!!!&J!!!!B!!!!$)!N"pc!#J!!-N)!"%!3J"e!'N!E!"N!#!\r!33"X!'`!)!"8!'%!FJ"R!'8!G!"c!!)!!J#3"XN*X(&K5l"aD@%!N"a[Ff&c9'p\rj8`%!!!3!YJ#3De`!N!X"!*!6!@df1'X!N"-"!*!42!j0594IT80$B@0SC8aTBJ#\r3"3%!!!!"B!!!!'!!!!!b"qCbN!!dK!!!!"`!-J!!BfCbC`!!!!S!!2rr!*!)FG`:\r
\ No newline at end of file
diff --git a/src/mac/libraries/CCache API/bin/CCacheLib.PPC b/src/mac/libraries/CCache API/bin/CCacheLib.PPC
new file mode 100644 (file)
index 0000000..e724191
--- /dev/null
@@ -0,0 +1 @@
+(This file must be converted with BinHex 4.0)\r:$80$B@0SC8aTBLj38%-!FfKXBN0"*%J"!!!!)U-!!!'54CP+EhNKF'9QCR"hF'-\r!!!!"XJ0B"`#3$3-!!J#3"2q3"!#3"Kf8!!!GP!!!(C3!!!5J!!3%!2q3"!#3"J5\ri!!!",`!!!'-!!#*!!J%%!2q3"!#3$J3H!!!!J!3%"!#3"Iq3"!#3"`%!!!%B!!!\r!!3!!!4!!!!!$!!!!$`!!!!%!!!$)!!!!h!!!!VJ!!!!%!!!!&3#3$`B!N!X0!*!\r,#!!!!!B!N!FD!*!,!3!!!!i!N!3#!!!`!J!!0`)!!$i#!!"'!J!!63)!!&3#!!"\rE!J!!C3)!!()#!!"p!J!!L!)!!*-#!!#I!J!!X3%!!,J!!3#3"3N!N!4+$N)!3!&\r#!8!"3J&#!)!$4KB!!%e*9&qP68P83daTBJ"*ER4PFQCKBf9-D@)!68P8Ak9$3f&\rMD'9(E'pLB@ac6'PL!(0dFQ0YF!"YC@eMF(N!Fh4bEQ0`H3"cG(*MF(N!Fh4bE'9\rZ!'ePEA0PG!"1CAG3G(*6HA-!9@jSEfaN6@9YEh*j!%K[E'40C@e[FRN!4'PcF'p\rcC9"dFJ"(CA43G(*6DATP!&0KE@93FQpMCA0c!%GPG%0eFR*PER43FQpMCA0c!%j\rPGe"dFJ"R3fjdFQa#E'pMD`"MBepRCA4IBh*PC&pfCA*cD@pZBf0IC'9cG(*[H@0\rMAfGPG&pMD'&ZCf9IG'PYC@0MAfCbC@9I6N0ID@jQEf0MAf0bC@&dC@0MAf0XEh0\rPBf0ICf9dAfjKE@9MBepQFQ9PAf0bC@4cBf0IFQ9YEhCPAf0bC@4MBepQFQ9PAh"\rbD@jMDA"KE'0MAfp`C@jMBepcD(9dC'phEQ0MAh0PG&p`FQPZBfP`B@aMBepcCA&\rICQ9dBfKI6N0cBf0ICf9dAdj$AfPZCQpMBepTEQPdD@&XDATPBf0ICf9dAh"bD@j\rMDA"KE'0MAh0PF9pQCA4MD&pMFQ9NFf0MAh0dEh*PBf0ICR*PC9pZB@ePBf0IE'p\rMDepbCA&eCA0d!*!&"!!!!!`!!3!)!!3!!!!'!!J!"J!)!!J!!!!+!!3!#J!!!!X\r!%!!,!!`!$`!!!")!"!!5!!!!%`!)!"-!%qq*!!UDh`!569F!$c0A!!P-)3!)*Xm\r!#cEk!!h1V`!1jP-!%IJ'!!F66!!,2Ad!%)`+!"##X3!1ZFB!$FMP!"$-#`!5#&i\r!##F0!!aR@J!2'"i#!!$%!!!!X!!"!J!!e`!!!1!!!3)!!1%!!!$B!!%#!!$c!!!\r!F!!"!J!"!J!!!2J!!3)!!3X!!!$S!!%#!!%6!!!!U!!"!J!"(J!!!(J!!3)!!5X\r!!!$)!!%#!!%j!!!!L!!"!J!"5J!!!2!!!3)!!9%!!!%!!!%#!!&F!!!!`!!"!J!\r"E!!!!+!!!3)!!A`!!!#3!!!"!J!"LJ!!!3J!!3)!!CF!!!#i!!%#!!'R!!!!Q!!\r"!J!"Z3!!!0!!!3)!!F%!!!#!!!%#!!(0!!!!D!!"!!"m#!+QN!!"!!L8)Ir!1#%\r!3)!"!!Km#!1Q6S!!)(`)!UDrBIrXN!!"!!L8)Iq`I(XEH(bF)hKm[5YiI0icH)2\rL!$L!(`!!+!!!!%##!&3iB!!35!!2U@!!!!#3!(X!!)"l!!!S!`!!3))!$$KJ!!C\r)!!"S1!!!!*!!!`!%J(X!!*!!!`!!J(X!!*!!!`!)J(X!!*!!!`!-J"X!!*!!(`!\r!5!!!#*!!'`!!,"`!!8#"!!`iB!!*5!!!+#JG!!""JJ!-1!!!!C!!(3!!+"i!!%'\r#!!b!!J"JN!!H!!!iB!!!J!%!@$JK!&"m#!1QZf(rl%k!!#"m#!+QNq(rr*!!!3!\r)P#(r`(ar'hJS(`!!3B)!+)"r!!!S!`!!3B)!(%J!&l&J!!!!J(m!!%J!$Q9J!!!\r!5!!!$$KJ!!T)!!!-1'!!!*!!I`!!J!%!5$JK!%"m#!1QJq(rr%k!!#"m#!+Q[b(\rrj*!!!3!)P#(rS(aj'hKmQL0iI,XVH(cF-hKmrcYiI4e$H#JC!!"!JJ!-1'!!#NJ\r!!5JiB!)S5!!1F@!!!!"mIKYi+"i!!%##!!`iB!!'5!!"##JD!!""JJ!BId26H%J\r!'j@!33!8+!-!rd'!!!`iB!!"5!!!j(r$mhKr400i5!!DjB""!"3S(!!!3B)!'(q\r$ihK)!"YKJ%%!&#J$!2p"J!!-1'!!$%J!!,!iIJ%"Ii6MH%J!'V'!33!8Nri#$$[\rJ!!#crJ)#Qhi"!$J!!!+B(J)31!!!C*!!(J)8Im2cH%J!$JeJ!!!!N!"q!JL!(J)\r)+!!!!%##!!`iB!!'5!!!A)!C!!JX!!!!3))!'*2q!L56rJ)JNpN!!*2C!!4)!!!\rFJ(N!"*2$!L#!'3!%N!!H!L56rJ)JNpN!")"j!!Ji!`!"N!!C!!L!H3!-1!-!!C!\r!'3!-Npd!!$KJ!!#!!3"S1#%!B(`)!kDl)IrN6S!!)(`)!UDrBIrXN!!"!!L8)Iq\r`I*XMH(cm1hJlS!!!+!-!!%##!!`iB!!+5!!!H#JF!!"!JJ!-1'!!$%J!!'L$``!\r!9,m'2NJ!!$4rBpYiIm6cH%J!'L'!33!8,!-!!%##!"L)(J%!I"m!3%##!!`lS!!\r"5!!!#)2H!L!S(J!!3B)!$(qJ"h9"J[r%Ik!(G8'#!"#6h!!!1'!!!%J!!!JiB!!\r+J!%!@$JK!&"m#!1QZf(rl%k!!#"m#!+QNq(rr*!!!3!)P#(r`#J$!!"!JJ!-1'!\r!#NJ!!$L!K!!!L!3#%#`!!!*!JJ!-1'!!$NJ!!#"mRb0i5!!4I@!!!!"rirYi5!!\r,b@!!!!!iB!!!J!%!5$JK!%"m#!1QJq(rr%k!!#"m#!+Q[k(rp*!!!3!)P#(rX(a\rr'hKmR50iJpd!!#JI!!"!JJ!-1'!!#NJ!!-5!(J)8,!!!C%'#!#"r`r0i5!!8q@!\r!!!"mB!Ge3))!$$KJ!!K)!!#FJ"i#*#J!!!"!JJ!JJ"i#)*!!(`!!J(i#)#J$!!"\r"JJ!-1!!!!*!!!`)NJ"i#)#J!!!"!JJ!JJ"i#**!!(`!%J(i#*#J$!!""JJ!-1!!\r!!*!!!`)JJ"i#*#J!!!""JJ!JJ(i#)#J$!!""JJ!8N!!$!L5!(J)JJ(i#**!!!`)\rJ1!!!!CJH!K"rirYiIk6VH%[rrVf!R`!-1!3!!C!!(`!-J!%!@$JK!&"m#!1QZk(\rrp%k!!#!S!`!!3))!$$KJ!!T1J!!J+!3!!%'#!"5!!`!-N!!%!!!iB!!!6S!!)$K\rJ!!a1J!!JI!J#TVr"rrL3!!%!#*3Krm"mIKYiI*mMH*!!S3"JN!$"!'5!(`)8,!!\r!C%'#!#JX!!"Q3))!'(rMqhK)!"20B!!!!(aJ"h9!JJ!-1'!!#%J!!&JS(J!!3))\r!$$KJ!!T)!!")+"m!!%##!!`iB!!+5!!!1(rMqhL!J3"JJ+%!C%J!$TeJ!!!!,!-\r!!%##!"#!RJ!)1!3!!C!!(J!)J*i!$$J%!!'3!"i!$)!"!%Ji)3"!I!J$TV["rrK\r1J!!JI!J#TVpKrqb3!!%!#*3Krl"mHaYiI*`MH*!!S3"`N!$"!(5!(!)8,!!!C%'\r#!#JX!!"Q3))!'(q$ihK)!"-9B!!!!(aJ"h9!JJ!-1'!!#%J!!(`lS!!!IlrVH$[\r!!'0)!!"3J(`##(b$q#k!C!!!J)3!")#K!(#!`3"d5!!2C@!!!!"mB!Ge3B)!))"\rm!JKmBrJZ5!!62@!!!!#!I!))I'2i,T[$!!!l[3!"1rm!"+JF!J*m(3!!3B$rV)"\rl!!`i!`!"N!!E!!`iB!!!J!%!@$JK!&"m#!1QZf(rl%k!!#"m#!+Q[i(rm*!!!3!\r)P#(rX(am'hKmR50iI,iVH(cI-hL!(3)8,!!!C%'#!#JX!!"Q3))!'(qMkhK)!")\rjB!!!!(aJ"h9!JJ!-1'!!#%J!!&!S(3!!3))!$$KJ!!T)!!"!L(d"!&I!"Mjm!`"\r!3B)!$$KJ!!T)!!!S1(d"!ArNqhJiS!$r5!!9pB""!"5!I!!-1!-!!C!!(!!-1'!\r!!)!"!&Ji)3"3I!J$TVZ"rr"1J!!JI!J#TVr"rrL3!!%!#*3Krm"mRL0iI,mVH#J\rH!!"!JJ!-1'!!#NJ!!&L!(J)8,!!!CN##!#"r`r0i5!!4L@!!!!"mB!Ge3))!$$K\rJ!!K)!!!`+"m!!%'#!#3iB!$r5!!(P@!!!!#3!(m!!)"r!!!iRJ%"5!!8qB""!"3\riB!!!J!%!5$JK!%"m#!1QZm(rq%k!!#"m#!+Q[m(rq*!!!3!)P#(r`(bH)hKm[bY\ri+"i!!%##!!`iB!!+5!!!5)!H!K3X!!"Q3))!)(r$mhK)!"$jB!!!!(aJ"h9!JJ!\r-1'!!#%J!!#!S(`!!3))!$$KJ!!C)!!!3L"i"!*JI!!!iB!!!J!%!5$JK!%"m#!1\rQZm(rq%k!!#"m#!+Q[m(rq*!!!3!)P#(r`(bH)hKm[bYi+"i!!%##!!`iB!!+5!!\r!@)!H!K3X!!"Q3))!)(r$mhK)!""jB!!!!(aJ"h9!JJ!-1'!!#%J!!$!S(`!!3B)\r!*$KJ!2p)!!D&B!!!!*!!I`!!J(m!!(r%mhK)!"2TJ%%!&$KJ!!#!!3")1#%!3(`\r)!kDl`Iri6S!!)(`)!UDrSIrdN!!"!!L8)Iq`I(dEH(bH)hKm[bYi+"i!!%'#!"3\rS(`!!3B)!$#JG!!"!JJ!-1'!!#NJ!!)L!(`!!+!!!!%##!$!iB!!)5!!'"@!!!!#\r3!(m!!)"r!!!S!`!!3))!$$KJ!!C)!!"BJ"d!!*!!!`!!J(m!!)!$!!!S!!!!3))\r!(%J!"K&J!!!!1!!!!*!!(`!!1'!!!dJ!!#Km!`0iIm6cH%J!$8PJ!!!!J*m!!)"\rN!!#!!`)JN!!%!!!iB!!!J!%!@$JK!&"m#!1QZk(rp%k!!#"m#!+Q[k(rp*!!!3!\r)P#(rX(bG)hKm[LYiI0mcH#JG!!""JJ!8+"m!!%'#!!`S!`!!3))!$$KJ!!T)!!'\rmJ"d#&#`!!'C!JJ!JIk2VH%J!$`&J!!!!I'!(G8##!!`iB!!)5!!"P)!I!!!S!!!\r!3))!4$KJ!!K)!!8*B!!!!*!!I`!!J(m!!#J$!!"!JJ!-1'!!"NJ!!@3i!!!!N!!\r$!!4)!!!8J*m!!)"N!!3i!`!"N!!%!!5!I`!!J)-!"+JG!J*m"!!!3)!!()"p!JK\r8J"!kI'-!,SJ$!!!S!!"M3B,rb)"r!!#!J`!%U"d#!R`%!!""J!!F5!!%d@!!!!!\ri!!!!N!!I!!!iB!!$5!!!m)"p!JK8J"!kI'-!,SJ$!!!S!!!"3))!M#JH!!"!JJ!\r-1'!!"NJ!!-JiB!!)5!!%5@!!!!#3!(i!!)!H!!!S!!!!3))!$$KJ!!C)!!#N1'!\rGJ%J!"#9J!!!!J*i!!*!!C!!%J(i!!)"M!!3S!`!!3))!$$KJ!!C)!!"iJ,d##)#\rI!!#!"!!%9!!31Rb&!#k!K!!%1+!GJ%J!%BQ!33!85!!!2#J!!!*!JJ!XJ!-!"*!\r!!3!m1!!!!TJ"!$L!B3!iJ)%!2(r&mhK)!!D*B!!!!%J!!!`iB!!35!!!')#I!!#\r!C!!%1!-!!C!!"!!%1'!!!)!"!&Ji)3"3I!J$TVZKrr41J!!JI!J#TVpKrqb3!!%\r!#*3Krl"mI"YiI*XMH$ZJ!!"r[qYi+"X!!%##!!`iB!!'5!!!`)"m!!Ji!`!"9!-\r31NJ!%*Q!33!8N!"l!!#!'`!!+!!!!%##!!`iB!!'5!!!P)1F!!")!!"d1'!"rdJ\r!%'f!33!8J*X!!(rqqhKmC2%ZJ(X!!(aMm#iS!`!!3))!$$KJ!!C)!!"FIi6MH%J\r!%&@!33!8J(X!!(aMm#iiB`$r1*`"!8J!%$f!33!8L"`"!)"l!!"mBr!ZQ!-"rS1\rF!L!l[3!"1rm!"#JF!!"!J[q-1'!!!)#E!!"AS"!kI'3",S!"!&Ji)3"3I!J$TVY\rKrqa1J!!JI!J#TT!!!3!)P#(r`(b$)hK)!!+TB!!!!$KJ!!#!!3")1#%!3(`)!kC\r1J!!JI!J#TT!!!3!)P#(r`(b$)hK)!!*pB!!!!$KJ!!#!!3")1#%!3(`)!kC1J!!\rJI!J#TT2Krrb3!!%!#*3Krm"mRb0i+"m!!%##!!`iB!!+5!!!*)"r!!")!!a&B!!\r!!)"r!!")!!)YB!!!!$KJ!!#3!(m!!)!"!%Ji)3"!I!J$TS2Krra1J!!JI!J#TVr\r"rrL3!!%!#*3Krm"mRL0i+"i!!%##!!`iB!!+5!!!4$J!!!"m(`0i5!!!')"q!!"\rmBrJZ5!!1MB""!"3lr`!%J(i!!(`$q#iS!!!!3),ri%J!$R'!33!81m!!!(r$mhL\r!!3")1#%!3(`)!kDl`Iri6S!!)(`)!UDr`IriN!!"!!L8)Iq`I*mMH(bq+hJiB3!\ri5!!1!B""!"5!(`)8,!!!C%'#!"JiB3!i1*m#'$LK!%")!!hjJ%%!&#`H!!*"JJ!\rX3)!!%#`H!!&!J!!85!!!e#`H!!4!J!$-5!!!5$J!!'53!"m#&%J!!-5!(`)8,!!\r!C%##!#!i!!"PN!!I!K5!B3!iJ!%!2*!!I`)BN!!I!Ka)!!#F,!!!CN##!*3iB!!\r)5!!!N!#!(`)8,!!!C%##!#!i!!"QN!!I!K5!B3!iJ!%!2*!!I`)BN!!I!Ka)!!"\rN,!!!CN##!"L)!3"!+!!!!%##!!`iB!!)5!!!6)!I!K3X!!"P3))!2)J"!%!S!!!\r!3B)!)$J!!'D3!"m#&)"K!$L!!3!mN!"r!KL3!"m#(%J!!"3iB!!)5!!!%$KJ!!a\r)!!!)1'!!!)!"!&Ji)3"3I!J$TV["rrK1J!!JI!J#TVr"rrL3!!%!#*3Krm"mIKY\ri5!!06B""!"4mIaYiIm6cH%J!$@f!33!8Iq2lH)!"!%Ji)3"!I!J$TV["rrK1J!!\rJI!J#TVr"rrL3!!%!#*3Krm"mIKYi5!!-`B""!"4mIaYiIm2cH$L!!!"rjIYi5!!\r-`B""!"4r`r0i1)!!!(rPqhK)!!bYJ%%!&(r$mhKrj2Yi5!!-YB""!"4r`r0i5!!\r-BB""!"5!!3")1#%!3(`)!kDl`Iri6S!!)(`)!UDr`IriN!!"!!L8)Ir!I(iEH%J\r!$2'!33!8I(mEH(r%mhK)!!baJ%%!&(rMqhL!!3")1#%!3(`)!kDl`Iri6S!!)(`\r)!UD6iIrmN!!"!!L8)Ir!I(mEH$J!!!#`(`)#1!!!#V!I!J3iB!!S5rrrPC!!I`)\r)J(m##)!"!%Ji)3"!I!J$TS2Krra1J!!JI!J#TT2Krrb3!!%!#*3Krm"mIaYiN!#\r"!&b3!+%!B*!!`3"NJ!%!A*!!(`!!J!%!B*!!(`!%J!%!C#J!!!"!JJ!31'!!!*!\r!I`!)5!!!1)"K!'",rrmTN!"r!!L!I`!)+!-!!%##!!`iB!!'5!!!')#"!'5!S3"\rJ5!!,mB""!"3iB!!!J!%!5$JK!%"m#!1QJq(rr%k!!#"m#!+Q[f(rl*!!!3!)P#(\rrX(al'hKmR#0i1q!!!(pqfhJS(J!!3))!&*2m!!")!!$!5!!!#$[r!!'!(J!!1pi\r!"#J!!!"!J[r`1"m!!93$%$T,rrk9N!"m!!"mI4YiIhlEH%J!!(!iB!!-5rrqIB#\rF!!#3!'3!!)"m!!#!B`!!J*X!!$LJ!!a)!!Y0J%%!&)"m!!#!B`!!J'-!"%[rrNf\r!R!!!J)3!!*!!C!!)J(`!!)"M!!#!B`!)J,X!!)#&!!L!T3!%5!!,%B""!"3lR!!\r%1pi!")!H!!!S!!!!3),rM$KJ!!"Ai"!kI(d",T1m!!#!!3"B1#%!8(`)!kDlBIr\rX6S!!)(`)!UDrSIrdN!!"!!L8)Iq`N!"K!'L3!)%!E(bp+hL$`3"X+"d!!%##!!`\riB!!'5!!"+$KJ!!K,rrfaN!"p!!!iB!"-5rrpTAar'hJS(`!!3))!$$KJ!!C)!!%\r!1'!%iN[rrBQ3!(m!!)!I!!!S!!!!3))!$$KJ!!C)!!$J1'!%iN[rr@Q3!(m!")!\rI!!3S!!!!3))!$$KJ!!C)!!$!J(m!!)#H!!!iS!6I5!!+AB""!"5!I`!%J*i!"$L\rJ"0p)!!T*J%%!&$Kr!!L!RJ!)J,i!$)$H!"",rrfKJ"i!&*!!(`!8J"i!'*!!(`!\rBJ"i!(*!!(`!FJ"i!)*!!(`!JJ"i!**!!(`!NJ"i!+*!!(`!SJ(i!,$LI!#a,rrh\re1(m!-)#H!$#![J!dJ0i!1%[rr9%iI`!mJ*i!2)#q!%#!hJ"%5rrp26KJ!!#3!(m\r!5$J!!!+!R3!!Q!3!!)#G!!#6j!!%J!%!@$JK!&"m#!1QZk(rp%k!!#"m#!+Q[m(\rrq*!!!3!)P#(r`*!!B3"BN!#"!&am[LYi+"i!!%##!!`iB!!'5!!!D$KJ!!K,rra\r0N!"q!!#!IJ!!+!-!!%##!!`iB!!'5!!!5$J!!!'B!`!!1'!GJ%[rr#9mIaYi+"m\r!!%##!!`iB!!'5!!!*(rMqhL!J3"F1+!GJ%J!#1f!33!8J(i!!*2M!!3iB!!!J!%\r!5$JK!%"m#!1QZm(rq%k!!#"m#!+Q[m(rq*!!!3!)P#(rX(aq'hL3!)%!E*!!S3"\r`1!!!!*!!!3!iU(i#!MJ$!!'`(J)#U(i#!UJH!J4m!`!!3))!@&3!#$b`(J)%U"i\r#"&3$%$T,rrZ*I(mEH#JI!!"!JJ!-1'!!"NJ!!*!!Iq2lH)#H!JLS(J)%I!!1F(`\r!!C48"4!k5!!)4B""!"5!IJ))5rrkeC2q!JL)!3"X+!!!!8##!"L!B3"XJ)%!F$L\rK!$K,rrka5!!!+#J!!!*!JJ!BJ'%!E)#"!(!iS3!i5rrp,8J!!!`iB!!35!!!))#\rK!$L!RJ))U(i#!MJ$rrp8!"!kI+3",MKJ!!#!!3"B1#%!8(`)!kDl`Iri6S!!)(`\r)!UDrJIr`N!!"!!L8)Iq`I(`EH(bG)hJl`!!!IprcH%J!!#L!I3))I!2i,T!!!3!\riIi2MH$L"!$K,rrI"B!!!!$[H!!%lr`!%U"d#!R`H!!""J2r8J(d##%[rqJ%iB!!\r!J!%!@$JK!&"m#!1QZi(rm%k!!#"m#!+Q[m(rq*!!!3!)P#(r`*!!B3"BN!#"!&b\r3!+%!B*!!`3"NJm%!A#JH!!""JJ!3Jq%!C#JI!!"!JJ!-1'!!!%J!!1b)J3"B9)-\r'2SJ"!'"m!`"!3B)!$$KJ!!")!!$3+!3!!8##!'`iIJ!"1*m!!8J!"b@!33!8,!-\r!!%##!%`iIJ6M1*m%idJ!"`f!33!8,!-!!%##!$3iIK1*1*m6L8J!"[@!33!8,!-\r!!%##!"b!IKKmJ"mBI(`$!!"!JJ!-1'!!!8J!!'JiB!!!5!!!B#J%!!*!JJ"8J(i\r!!)#I!!")!!DeJ%%!&#`$!!"!JJ!dJ(i!")#I!!4)!!DGJ%%!&#`$!!"!JJ!FJ(i\r!')!I!"Km!`!!3))!$$KJ!!&)!!!31'!!!%J!!!JiB!!!J!%!5$JK!%"m#!1QZm(\rrq%k!!#"m#!+Q[i(rm*!!!3!)P#(rX(ap'hKmR#0i+"`!!%##!!`iB!!'5!!"@$K\rJ!LK,rrJjN!"m!!#$r!!!Iq2lH(qNkhK)!!@GJ%%!&)JG!3#B(`%!1(m"!6LG!3&\r)!!@&J%%!&+JG!J+`(`)#U"d#",!I!J3i!!!"Q"m#%+JI!J48!a!k5rrhjC!!I`)\r)1m!!!(rFmhK)!!$8J(d##(b$i#k)"!!!+!!!!8##!(!iB!!)5rrhZB#I!JKmC1%\rZ1!!!!B"r!JKmBq!ZQ!-!!$KJ(B",rrHCJ*m##(b%i#k3!'3!")"r!JKmBq!ZJ'-\r!"#J$!!"!JJ!-1'!!"NJ!!)L!R3))I)6J,S#%!!3iS"f!5!!&"B""!"4)!!"-+!!\r!!N##!"b!C!!!J)3!")!I!JKmS1)85rrk%8J!!#`S!!"M3))!*$KJ!!K,rrFPJ*m\r##(aNi5ii!!"MJ(m##(aMi#kB!`!!1pi!!6ZF!!5S(`)#I"i!!%'!rbJiB!!!N!"\rr!L53!(m#))!"!&Ji)3"3I!J$TVZ"rr"1J!!JI!J#TT2Krrb3!!%!#*3Krm"mIaY\ri+"m!!%'#!#a)!!!8J(m!!)"M!!K,rrEa1rm!")!I!!!S!!!!3),rk(rMqhK,rrE\rCJ!%!5$JK!%"m#!1QJq(rr%k!!#"m#!+QNq(rr*!!!3!)P#(r`(ar'hK)!!!8Iq2\rlH(rNqhK,rqVjB!!!!)!I!!!S!!!!3),rk$KJ!!#!!3")1#%!3(`)!kD$iIrm6S!\r!)(`)!UD6iIrmN!!"!!L8)Iq`I(mEH$KK!$K)!!,TJ%%!&(aJ"c9"JJ!-1'!!!%J\r!!%#!(`)8,!!!C%'#!#JiB3!i1*m#'$LK!%")!!,4J%%!&(aJ"c9"JJ!81'!!!%J\r!!"!i!!!!Q!%!3)KK!%#!!3"B1#%!8(`)!kD$iIrm6S!!)(`)!UDr`IriN!!"!!L\r8)Ir!I(iEH)JH!!!S!!!#3))!D)2q!!5!I`!!5rrecB"r!!4,rrA&J(m!%#J$!!"\r"JJ!)5rreYB"r!$JS!`!!3B)!#%[rpD@!I`"%+!-!!%'#!!K,rr@9J(m!5#J$!!"\r"JJ!)5rrqEB"r!#`S!`!!3B)!#%[rrPf!IJ!%5rreE6KJ!!#!!3")1#%!3(`)!kD\rl`Iri6S!!)(`)!UD3!!%!#*3Krm")!!&&B!!!!(aJ"c9"JJ!)5!!!%$J!!!#!JJ!\riN!!%!!#!!3")1#%!3(`)!kC1J!!JI!J#TT!!!3!)P#(r`%J!!@&J!!!!J!%!5$J\rK!%"m#!1Q6S!!)$P#!6!jB!!!1!!!)(`*!kD!#J!)+!!!!%##!#L3!'S!#*!!LJ!\r-N!#U!"#3!-S!&*!!kJ!!N3S!"(eM@hL4+J!B6S!!)$PV!!%j5J!F3J$rb$KJrrp\r1J!!J,!-!!%f!!#!X!`!J6)!!)"aM!"`iJJ%`1!!!!(aN'K53!!-!#*!!!`!-N!!\r$!"#3!!-!&*!!!`!!N!!$!!53!!-!'%k!!#"m#!+QNq(rr*!!!3!)P#(r`$[L","\r)!!!JJ!8!!$L!rrq3!"m!!)"P!!L"K3!%5!!#$B""!"5![`!!+!8!!%##rpb!!3"\r)1#%!3(`)!kD$iIrm6S!!)(a$%hK1J!!JI!J#TT!!!3!)P#(r`%[rrqemD4YiJ')\r!9)##!&!iSJ!!1-)%Y)$L!%5"!J"!5rrqj@!!!!#!JJ"FN!"N!!",rq4&B!!!!$K\rJ!!#!!3")1#%!3(`)!kC1J!!JI!J#TT!!!3!)P#(r`%[rrd&J!!!!J')!A)"M!!"\r,rrlaB!!!!)!"!%Ji)3"!I!J$TNk!!##"JJ!`N!""!"5!$!!!J%`!"(`*!kC1J!3\rJJB)!,*!!33!8J!`!!)"-!!4m#31Q6S!%))'#!#53!%%!&)!-!!#!6!!%I!N$TNk\r!"##"JJ!SN!""!"5!$!!!J%`!"(`*!kC1J!3JJB)!&*!!33!8J!`!!)"-!!4m#31\rQ6S!%))'#!"b3!%%!&)!-!!#!6!!%I!N$TNk!"##"JJ!dN!""!"5!$!!!J%`!"(`\r*!kC1J!3JJB)!$*!!33!8J!`!!)"-!!4m#31Q6S!%))'#!##3!%%!&)!-!!#!6!!\r%I!N$TNk!"##"JJ!%N!""!"5!$!!!J%`!"(`*!kC1J!3JJB)!'*!!33!8J!`!!)"\r-!!4m#31Q6S!%))'#!!L3!%%!&)!-!!#!6!!%I!N$TNk!"##"JJ!!N!""!"5!$!!\r!J%`!"(`*!kC1J!3JJB)!%*!!33!8J!`!!)"-!!4m#31Q6S!%))!-!!#3!%%!&(`\r*!kD!6!!%6S!%)!!!'b5!!!"8#!#3"4Z!J!!!@!#3"K[BJ!!!0!#3%6iL",!#)Kf\r8!L)GF!)L",5'!J%GP#)"-!-KC!)L!5#'!KB0m!ei$5!-p!c)#mJ*`!MX#&`(h!G\r-"T`&`!8)"0J$f!0`!V`"6!$S!"`DE#)D-!3Z68P8)%N[8b"0B@0%CAB")H%!!!%\r!!!!"B!!!!'!!!!!b!*$cA!#3#`%!N"-"F(G`B`#3%`%!N"%m$Ne*9&qP3d0KBfK\rP6'PL!*!&!3!!!!&J!!!!B!!!!$)(jR+3!$6L!!!!(!!b!!"MCR*R!!!!#J!!rrm\r!N!3(jR%)D6J:\r
\ No newline at end of file
diff --git a/src/mac/libraries/CCache API/include/CCache.h b/src/mac/libraries/CCache API/include/CCache.h
new file mode 100644 (file)
index 0000000..f758c14
--- /dev/null
@@ -0,0 +1,350 @@
+/*************************************************************
+ *
+ *     Header file for Credential Cache API for MacOS
+ *
+ *     -as defined by the document found at http://www.umich.edu/~sgr/v4Cache/
+ *     -definitions borrowed from a windows implementation found at
+ *      /afs/umich.edu/user/s/g/sgr/Public/TsoCacheDll shell/
+ *
+ *     Revision 1: Frank Dabek, 6/4/98
+ *                             added missing calls from revision four of the API
+ *                             deleted some WIN specific Information
+ *                             added some misssing definitions
+ *                             renamed to CCache.h
+ **************************************************************/
+#ifndef _CCache_h_
+#define _CCache_h_
+
+#if defined(__CFM68K__) && !defined(__USING_STATIC_LIBS__)
+#      pragma import on
+#endif
+
+#include "Processes.h"
+/*
+** The Official Error Codes
+*/
+#define        CC_NOERROR      0
+#define CC_BADNAME     1
+#define CC_NOTFOUND    2
+#define CC_END         3
+#define CC_IO          4
+#define CC_WRITE       5
+#define CC_NOMEM       6
+#define CC_FORMAT      7
+#define CC_LOCKED      8
+#define CC_BAD_API_VERSION     9
+#define CC_NO_EXIST    10
+#define CC_NOT_SUPP    11
+#define CC_BAD_PARM 12
+#define CC_ERR_CACHE_ATTACH 13
+#define CC_ERR_CACHE_RELEASE 14
+#define CC_ERR_CACHE_FULL  15
+#define CC_ERR_CRED_VERSION  16
+
+#define CRED_TYPE_IN_UNION
+
+typedef int cc_int32;
+typedef cc_int32 cc_time_t;
+typedef cc_int32 cc_nc_flags;
+//typedef short cc_cred_vers;
+       
+enum StringToKey_Type { STK_AFS = 0, STK_DES = 1};
+
+enum {  MAX_V4_CRED_LEN = 1250, 
+               KRB_PRINCIPAL_SZ = 1250, 
+               KRB_INSTANCE_SZ = 1250,
+               KRB_REALM_SZ = 1250,
+               KRB_SERVICE_SZ = 1250,
+               ADDR_SZ = 16  };
+
+// V4 Credentials
+typedef struct _V4Credentials {
+       unsigned char   kversion;
+    char                       principal[KRB_PRINCIPAL_SZ];
+    char                       principal_instance[KRB_INSTANCE_SZ];
+    char                       service[KRB_SERVICE_SZ];
+    char                       service_instance[KRB_INSTANCE_SZ];
+    char                       realm[KRB_REALM_SZ];
+    unsigned char      session_key[8];
+    cc_int32           kvno;
+    enum StringToKey_Type      str_to_key;
+    long                       issue_date;  
+    cc_int32           lifetime;          
+    char                       address[ADDR_SZ];       // IP Address of local host
+    cc_int32           ticket_sz;    
+    unsigned char      ticket[MAX_V4_CRED_LEN];
+    unsigned long      oops;
+} V4Cred_type;
+
+// version indentfiers
+// extend to authentication schemes beyond Kerberos?
+enum cc_cred_vers {  
+    CC_CRED_VUNKNOWN = 0,       // For validation
+    CC_CRED_V4 = 1,
+    CC_CRED_V5 = 2,
+    CC_CRED_VMAX = 3,            // For validation
+    CC_INVALID_RECORD = 99
+};
+
+#define NC_MAX_NAME_LENGTH 255
+typedef struct _infoNC  {
+       char name[NC_MAX_NAME_LENGTH];
+       char principal[NC_MAX_NAME_LENGTH];
+       enum cc_cred_vers vers;
+} infoNC;
+
+
+typedef struct _cc_data {
+       cc_int32                type; // should be one of above
+       cc_int32                length;
+       unsigned char*  data;
+} cc_data;
+
+typedef struct _cc_creds {
+       char*           client;
+       char*           server;
+       cc_data         keyblock;
+       cc_time_t       authtime;
+       cc_time_t       starttime;
+       cc_time_t       endtime;
+       cc_time_t       renew_till;
+       int                     is_skey;
+       cc_int32        ticket_flags;
+       cc_data     **addresses;
+       cc_data         ticket;
+       cc_data         second_ticket; //????
+       cc_data     **authdata;
+} cc_creds;
+
+//union of v4, v5 pointers
+typedef union cred_ptr_union_type {
+    V4Cred_type* pV4Cred;
+    cc_creds*    pV5Cred;
+} cred_ptr_union;
+
+//version 4 and version 5 union data type
+typedef struct cred_union_type {
+#ifdef CRED_TYPE_IN_UNION
+    enum cc_cred_vers cred_type;
+#endif
+    cred_ptr_union cred;
+} cred_union;
+
+#define kInitialCredBufferSize 10
+#define kLocalCopyNCType 1
+#define kMasterRecordNCType 2
+#define kUnlocked 100
+#define kReadLock 101
+#define kWriteLock 102
+typedef struct _ccache_p {
+       char                                    name[NC_MAX_NAME_LENGTH + 1]; 
+       enum cc_cred_vers                       vers;
+       char                                    principal[NC_MAX_NAME_LENGTH + 1];
+       short                                   numCreds;
+       short                                   maxCreds;
+       cred_union**                    creds; //self-growing array of pointers
+       int                                             cc_flags;
+       char                                    typeFlag; //master or local copy
+       long                                    lock;
+       ProcessSerialNumber             lockOwner;
+       struct _ccache_p                *next;
+       struct _ccache_p                *prev;
+} ccache_p;
+
+
+typedef struct _ccache_it {
+       ccache_p *prevNC;
+       int               lastCredOffset;
+} ccache_it;
+
+typedef struct _apiCB {
+       ccache_p* listHead;
+       ccache_p* listTail;
+       int               numNCs;
+       cc_time_t         changeCount;
+} apiCB;
+
+
+// --- Globals -------------
+extern apiCB *gCntrlBlock;
+
+
+/*
+** The official (externally visible) API
+*/
+
+#define CC_API_VER_1   1
+
+// -- Main cache routines ------
+
+/* Initialize the Credentials Cache, return a control structure in cc_ctx,
+       This should be the entry point of the shared library, or called from
+       the entry point */
+int
+cc_initialize(apiCB ** cc_ctx,         // < SL's primary control structure. 
+                                                                       //   returned here, passed everywhere else 
+                         int   api_version,    // > ver supported by caller (use CC_API_VER_1)
+                         int*  api_supported,  // < if ~NULL, returned max ver supported by DLL
+                         char** vendor);               // < if ~NULL, returns read only C string, vendor name */
+
+/* Termination routine */
+int
+cc_shutdown(apiCB** cc_ctx);                   // <> SL's primary control structure. NULL after call. 
+
+
+/* Open a name cache within the ccache designated by name and version? 
+       Returns a control struture pointer to the NC in *handle */
+int
+cc_open(apiCB * cc_ctx,                                // > SL's primary control structure
+               char * name,                            // > name of pre-created cache
+               const enum cc_cred_vers vers,   // > version of credentials held in this NC 
+               int cc_flags,                           // > options
+               ccache_p ** handle);            // < named cache control structure 
+
+/* Close and deallocate memory assoicated with the named cache pointed to by *handle */
+int
+cc_close(apiCB* cc_ctx,                                // > DLL's primary control structure
+                ccache_p** handle);            // <> named cache control structure. NULL after call. 
+
+/* Create a new named cache in the cache cc_ctx.
+Specify the cache by: a name, a principal, a version
+return a pointer to the control structure for the cache via handle */
+int
+cc_create(apiCB* cc_ctx,                       // > DLL's primary control structure
+                 char* name,                           // > name of cache to be [destroyed if exists, then] created
+                 const enum cc_cred_vers vers, // > version of credentials to be held in cache
+                 char* principal,                      // > name of principal associated with named cache
+                 int cc_flags,                         // > options
+                 ccache_p** handle);           // < named cache control structure 
+
+/* Seems remarkably similiar to cc_close ???? */
+int
+cc_destroy(apiCB* cc_ctx,                      // > DLL's primary control structure
+                  ccache_p** handle);          // <> named cache control structure. NULL after call.
+
+/* Get the global last changed time variable for the CCache 
+   Replace this with a change counter instead of an actual time?*/
+int
+cc_get_change_time(apiCB* cc_ctx,        // > DLL's primary control structure
+                                  cc_time_t* time); // < time of last change to named cache
+
+// -- Named Cache routines ---------
+
+/* store the credentials (tickets) in cred in the named cache pointed 
+to by handle.  Maybe the last argument should be more general? */
+int
+cc_store(apiCB* cc_ctx,                                // > DLL's primary control structure
+                const ccache_p* ccache_pointer,                        // > named cache control structure
+                const cred_union cred);                        // > credentials to store in cache named
+
+/* Remove the credentials pointed to by cred from the Named Cache pointed to
+by handle. */
+int
+cc_remove_cred(apiCB* cc_ctx,          // > DLL's primary control structure
+                          ccache_p* ccache_pointer,    // > named cache control structure
+                          const cred_union cred);              // > credentials to remove from named cache
+
+/* set the principal of the NC *ccache_pointer to principal,
+       principal should be a null terminated C string */
+int
+cc_set_principal(apiCB* cc_ctx,                                                // > cs 
+                               const ccache_p* ccache_pointer,         // > NC
+                           const enum cc_cred_vers vers,                       // > version: to check pointer?
+                           const char* principal);                             // > new principal name
+
+/* Get the name of the principal associated with the NC handle */
+int
+cc_get_principal(apiCB* cc_ctx,                // > DLL's primary control structure
+                                ccache_p * ccache_pointer,     // > named cache control structure
+                                char** principal);     // < name of principal associated with named cache
+                                                                       //   Free via cc_free_principal()
+
+/* Get version of credentials stored in the NC pointed to by ccache_pointer */ 
+int
+cc_get_cred_version(apiCB* cc_ctx,                                     // > cs
+                                       const ccache_p* ccache_pointer, // > the named cache
+                                       enum cc_cred_vers* vers);                       // <> the version of credentials in the NC
+
+/* Return the name of the NC specified by ccache_p */
+int
+cc_get_name(apiCB* cc_ctx,                                             // > control struct
+                       const ccache_p* ccache_pointer,         // > NC
+                       char** name);                                           // <> name                                      
+
+
+//  - Search routines ----
+
+/*
+Sequentially open every NC in the CCache. 
+To use (?): initially set handle and itCache to NULL
+after each call set itCache to handle,
+repeated calls will return all currently held NC's
+*/
+int
+cc_seq_fetch_NCs(apiCB* cc_ctx,                        // > DLL's primary control structure
+                                  ccache_p** ccache_pointer,   // <> named cache control structure (close, then open next)
+                              ccache_it** itCache);// <> iterator used by DLL, set to NULL before first call
+                                                                               //    Also NULL for final call if loop ends before CC_END
+
+/* Sequentially fetch every set of credentials in the Named Cache handle
+use similiarly to cc_seq_fetch_NCs */
+int
+cc_seq_fetch_creds(apiCB* cc_ctx,                      // > DLL's primary control structure
+                                  ccache_p* ccache_pointer,            // > named cache control structure
+                              cred_union** creds,                      // < filled in by DLL, free via cc_free_creds()
+                              ccache_it** itCreds);    // <> iterator used by DLL, set to NULL before first call
+                                                                                       //    Also NULL for final call if loop ends before CC_END
+
+/* a wrapper for cc_seq_fetch_NCs.
+       Returns: a null terminated list (array) of pointers to infoNC structs
+       if this works, maybe we should hide that seq call...
+       */
+int
+cc_get_NC_info(apiCB *cc_ctx,          // > control structure
+                        infoNC*** ppNCi);              // <> info about the NC (yes.. three asterisks...)
+
+                               
+// -- Memory recovery ---------
+
+/* just a wrapper for free() ??? */
+int
+cc_free_principal(apiCB* cc_ctx,               // > DLL's primary control structure
+                                 char* principal);// <> principal to be freed, returned as NULL
+                                                                       //   (from cc_get_principal())
+/* another wrapper? */
+int
+cc_free_name(apiCB* cc_ctx,                    // > DLL's primary control structure
+                        char* name);                   // <> name to be freed, returned as NULL
+                                                                       //   (from cc_seq_fetch_cache())
+
+/* free storage associated with cred_union** */
+int
+cc_free_creds(apiCB* cc_ctx,                   // > DLL's primary control structure
+                         cred_union** creds);          // <> creds (from cc_seq_fetch_creds()) to be freed
+                                                                               //    Returned as NULL.
+
+/* Free that nasty array we created above */
+int 
+cc_free_NC_info(apiCB *cc_ctx,         // > control structure
+                               infoNC*** ppNCi);       // <> pointer to free
+                                                        
+
+// -- Locking ----------
+
+#define CC_LOCK_UNLOCK  1
+#define CC_LOCK_READER  2
+#define CC_LOCK_WRITER  3
+#define CC_LOCK_NOBLOCK        16
+
+/* Place a lock on the Named Cache handle, lock types are above 
+NB: API indicates that this call is not implemented*/
+int
+cc_lock_request(apiCB* cc_ctx,         // > DLL's primary control structure
+                               ccache_p* ccache_pointer,               // > named cache control structure
+                               int lock_type);         // > one (or combination) of above defined lock types
+                          
+#if defined(__CFM68K__) && !defined(__USING_STATIC_LIBS__)
+#      pragma import reset
+#endif
+
+#endif /* Krb_CCacheAPI_h_ */