X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-perl/blobdiff_plain/bcd9210309ee4d9fc2afc281d188326071425a58..bdf77f6dbd9205c70639fb682059e4ba0761c767:/algorithms.xs diff --git a/algorithms.xs b/algorithms.xs index 6a01f15..1c9f5f1 100644 --- a/algorithms.xs +++ b/algorithms.xs @@ -227,6 +227,19 @@ encrypt(c, plain) 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 SV *cipher @@ -243,6 +256,19 @@ decrypt(c, cipher) 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 SV *iv