Crypt-GCrypt
view release on metacpan or search on metacpan
}
}
}
OUTPUT:
RETVAL
void
cgm_swap(sv_gcma, gcmb)
SV* sv_gcma;
Crypt_GCrypt_MPI gcmb;
PPCODE:
Crypt_GCrypt_MPI gcma = dereference_gcm(sv_gcma);
gcry_mpi_swap(gcma, gcmb);
ST(0) = sv_gcma;
XSRETURN(1);
void
cgm_set(sv_gcma, gcmb)
SV* sv_gcma;
Crypt_GCrypt_MPI gcmb;
PPCODE:
Crypt_GCrypt_MPI gcma = dereference_gcm(sv_gcma);
gcry_mpi_set(gcma, gcmb);
ST(0) = sv_gcma;
XSRETURN(1);
bool
cgm_is_secure(gcm)
Crypt_GCrypt_MPI gcm;
CODE:
RETVAL=gcry_mpi_get_flag(gcm, GCRYMPI_FLAG_SECURE);
Crypt_GCrypt_MPI gcm;
CODE:
RETVAL=gcry_mpi_copy(gcm);
OUTPUT:
RETVAL
void
cgm_add(sv_gcma, gcmb)
SV* sv_gcma;
Crypt_GCrypt_MPI gcmb;
PPCODE:
Crypt_GCrypt_MPI gcma = dereference_gcm(sv_gcma);
gcry_mpi_add(gcma, gcma, gcmb);
ST(0) = sv_gcma;
XSRETURN(1);
void
cgm_addm(sv_gcma, gcmb, gcmm)
SV* sv_gcma;
Crypt_GCrypt_MPI gcmb;
Crypt_GCrypt_MPI gcmm;
PPCODE:
Crypt_GCrypt_MPI gcma = dereference_gcm(sv_gcma);
gcry_mpi_addm(gcma, gcma, gcmb, gcmm);
ST(0) = sv_gcma;
XSRETURN(1);
void
cgm_sub(sv_gcma, gcmb)
SV* sv_gcma;
Crypt_GCrypt_MPI gcmb;
PPCODE:
Crypt_GCrypt_MPI gcma = dereference_gcm(sv_gcma);
gcry_mpi_sub(gcma, gcma, gcmb);
ST(0) = sv_gcma;
XSRETURN(1);
void
cgm_subm(sv_gcma, gcmb, gcmm)
SV* sv_gcma;
Crypt_GCrypt_MPI gcmb;
Crypt_GCrypt_MPI gcmm;
PPCODE:
Crypt_GCrypt_MPI gcma = dereference_gcm(sv_gcma);
gcry_mpi_subm(gcma, gcma, gcmb, gcmm);
ST(0) = sv_gcma;
XSRETURN(1);
void
cgm_mul(sv_gcma, gcmb)
SV* sv_gcma;
Crypt_GCrypt_MPI gcmb;
PPCODE:
Crypt_GCrypt_MPI gcma = dereference_gcm(sv_gcma);
gcry_mpi_mul(gcma, gcma, gcmb);
ST(0) = sv_gcma;
XSRETURN(1);
void
cgm_mulm(sv_gcma, gcmb, gcmm)
SV* sv_gcma;
Crypt_GCrypt_MPI gcmb;
Crypt_GCrypt_MPI gcmm;
PPCODE:
Crypt_GCrypt_MPI gcma = dereference_gcm(sv_gcma);
gcry_mpi_mulm(gcma, gcma, gcmb, gcmm);
ST(0) = sv_gcma;
XSRETURN(1);
void
cgm_mul_2exp(sv_gcm, e)
SV* sv_gcm;
int e;
PPCODE:
Crypt_GCrypt_MPI gcm = dereference_gcm(sv_gcm);
if (e >= 0) {
/* this can be dealt with by regular unsigned ints */
gcry_mpi_mul_2exp(gcm, gcm, e);
} else {
croak("exponent argument for Crypt::GCrypt::MPI::mul_2exp() must be an unsigned integer");
}
ST(0) = sv_gcm;
XSRETURN(1);
void
cgm_div(sv_gcma, gcmb)
SV* sv_gcma;
Crypt_GCrypt_MPI gcmb;
PPCODE:
Crypt_GCrypt_MPI gcma = dereference_gcm(sv_gcma);
gcry_mpi_div(gcma, NULL, gcma, gcmb, 0);
ST(0) = sv_gcma;
/* FIXME: should we return the remainder as well, if called in a list context? */
XSRETURN(1);
void
cgm_mod(sv_gcma, gcmb)
SV* sv_gcma;
Crypt_GCrypt_MPI gcmb;
PPCODE:
Crypt_GCrypt_MPI gcma = dereference_gcm(sv_gcma);
gcry_mpi_mod(gcma, gcma, gcmb);
ST(0) = sv_gcma;
XSRETURN(1);
void
cgm_powm(sv_gcma, gcme, gcmm)
SV* sv_gcma;
Crypt_GCrypt_MPI gcme;
Crypt_GCrypt_MPI gcmm;
PPCODE:
Crypt_GCrypt_MPI gcma = dereference_gcm(sv_gcma);
gcry_mpi_powm(gcma, gcma, gcme, gcmm);
ST(0) = sv_gcma;
XSRETURN(1);
void
cgm_invm(sv_gcma, gcmb)
SV* sv_gcma;
Crypt_GCrypt_MPI gcmb;
PPCODE:
Crypt_GCrypt_MPI gcma = dereference_gcm(sv_gcma);
gcry_mpi_invm(gcma, gcma, gcmb);
ST(0) = sv_gcma;
/* FIXME: should we do anything with the return value (1 if invm actually exists)? */
XSRETURN(1);
void
cgm_gcd(sv_gcma, gcmb)
SV* sv_gcma;
Crypt_GCrypt_MPI gcmb;
PPCODE:
Crypt_GCrypt_MPI gcma = dereference_gcm(sv_gcma);
gcry_mpi_gcd(gcma, gcma, gcmb);
ST(0) = sv_gcma;
XSRETURN(1);
bool
cgm_mutually_prime(gcma, gcmb)
Crypt_GCrypt_MPI gcma;
Crypt_GCrypt_MPI gcmb;
PREINIT:
CODE:
gcd = gcry_mpi_new(0);
RETVAL=gcry_mpi_gcd(gcd, gcma, gcmb);
gcry_mpi_release(gcd);
OUTPUT:
RETVAL
void
cgm_dump(sv_gcm)
SV* sv_gcm;
PPCODE:
Crypt_GCrypt_MPI gcm = dereference_gcm(sv_gcm);
gcry_mpi_dump(gcm);
ST(0) = sv_gcm;
XSRETURN(1);
SV *
cgm_print(gcm, format)
Crypt_GCrypt_MPI gcm;
int format;
PREINIT:
( run in 0.546 second using v1.01-cache-2.11-cpan-71847e10f99 )