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 K.SYSCALL.JMPX2 * >PULLW FORPNT * >PULLW TXTPTR */-------------------------------------- * ## MD5Init * Initialize a MD5 computation * # C * `hMD5 md5init ();` * # ASM * `>SYSCALL MD5Init` * ## RETURN VALUE * A = hMem To S.MD5 *\-------------------------------------- K.MD5Init .EQ K.SYSCALL.JMPX * jmp K.SYSCALL.JMPX */-------------------------------------- * ## 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 K.SYSCALL.JMPX2A * >PULLW FORPNT get LEN * >PULLW TXTPTR get DATA * >PULLA * jmp K.SYSCALL.JMPX */-------------------------------------- * ## MD5Finalize * # C * `void md5finalize (short int md5, char* digest);` * # ASM * `>PUSHB md5` * `>PUSHW digest` * `>SYSCALL MD5Finalize` * ## RETURN VALUE *\-------------------------------------- K.MD5Finalize >PULLW FORPNT >PULLA jmp K.SYSCALL.JMPX *-------------------------------------- MAN SAVE usr/src/sys/kernel.s.md5 LOAD usr/src/sys/kernel.s ASM