chiark / gitweb /
infra: Add a copy of the GPL.
[catacomb-perl] / algorithms.xs
index 6a01f15b0a9d79163179697551f91a4627594071..1c9f5f16941ddc3c3aaaa7467eaf1f281dad994c 100644 (file)
@@ -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