NEW AUTO 3,1 */-------------------------------------- * ## MD5 * Return MD5 Hash for input String * # C * `void md5 (const char* str, char* digest);` * # ASM * `>PUSHW str` * `>PUSHW digest` * `>SYSCALL md5` * ## RETURN VALUE * CC *\-------------------------------------- K.MD5 .EQ JMP.X2 * >PULLW FORPNT * >PULLW TXTPTR */-------------------------------------- * ## MD5Init * Initialize a MD5 computation * # C * `short int md5init();` * # ASM * `>SYSCALL MD5Init` * ## RETURN VALUE * A = hMem To S.MD5 *\-------------------------------------- K.MD5Init .EQ JMP.X * jmp JMP.X */-------------------------------------- * ## MD5Update * Add Data to MD5 computation * # C * `void md5update (short int md5, char* data, int len);` * # ASM * `>PUSHB md5` * `>PUSHW data` * `>PUSHW len` * `>SYSCALL MD5Update` * ## RETURN VALUE *\-------------------------------------- K.MD5Update .EQ JMP.X2A * >PULLW FORPNT get LEN * >PULLW TXTPTR get DATA * >PULLA * jmp JMP.X */-------------------------------------- * ## MD5Finalize * # C * `void md5finalize (short int md5, char* digest);` * # ASM * `>PUSHB md5` * `>PUSHW digest` * `>SYSCALL MD5Finalize` * ## RETURN VALUE *\-------------------------------------- K.MD5Finalize .EQ JMP.X1A * >PULLW FORPNT * >PULLA * jmp JMP.X *-------------------------------------- MAN SAVE usr/src/sys/kernel.s.md5 LOAD usr/src/sys/kernel.s ASM