X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/catacomb-perl/blobdiff_plain/fcd15e0b7a3d0f0ca2f30953573f8d1f6b8e8bd2..HEAD:/algorithms.xs diff --git a/algorithms.xs b/algorithms.xs index 6a01f15..1c9f5f1 100644 --- a/algorithms.xs +++ b/algorithms.xs @@ -226,6 +226,19 @@ encrypt(c, plain) OUTPUT: RETVAL +SV * +fill(c, len) + gcipher *c + size_t len; + CODE: + RETVAL = NEWSV(0, len ? len : 1); + memset(SvPVX(RETVAL), 0, len); + c->ops->encrypt(c, SvPVX(RETVAL), SvPVX(RETVAL), len); + SvCUR_set(RETVAL, len); + SvPOK_on(RETVAL); + OUTPUT: + RETVAL + SV * decrypt(c, cipher) gcipher *c @@ -242,6 +255,19 @@ decrypt(c, cipher) OUTPUT: RETVAL +SV * +filldecrypt(c, len) + gcipher *c + size_t len; + CODE: + RETVAL = NEWSV(0, len ? len : 1); + memset(SvPVX(RETVAL), 0, len); + c->ops->decrypt(c, SvPVX(RETVAL), SvPVX(RETVAL), len); + SvCUR_set(RETVAL, len); + SvPOK_on(RETVAL); + OUTPUT: + RETVAL + SV * setiv(c, iv) gcipher *c