180529Sdd/* $FreeBSD: releng/11.0/lib/libmp/mp.h 189092 2009-02-26 21:43:15Z ed $ */ 280529Sdd 380529Sdd#ifndef _MP_H_ 480529Sdd#define _MP_H_ 580529Sdd 6110011Smarkm#ifndef HEADER_BN_H_ 780529Sdd#include <openssl/bn.h> 8110011Smarkm#endif 980529Sdd 1080529Sddtypedef struct _mint { 1180529Sdd BIGNUM *bn; 1280529Sdd} MINT; 1380529Sdd 14189092Sedvoid mp_gcd(const MINT *, const MINT *, MINT *); 15189092SedMINT *mp_itom(short); 16189092Sedvoid mp_madd(const MINT *, const MINT *, MINT *); 17189092Sedint mp_mcmp(const MINT *, const MINT *); 18189092Sedvoid mp_mdiv(const MINT *, const MINT *, MINT *, MINT *); 19189092Sedvoid mp_mfree(MINT *); 20189092Sedvoid mp_min(MINT *); 21189092Sedvoid mp_mout(const MINT *); 22189092Sedvoid mp_move(const MINT *, MINT *); 23189092Sedvoid mp_msqrt(const MINT *, MINT *, MINT *); 24189092Sedvoid mp_msub(const MINT *, const MINT *, MINT *); 25189092Sedchar *mp_mtox(const MINT *); 26189092Sedvoid mp_mult(const MINT *, const MINT *, MINT *); 27189092Sedvoid mp_pow(const MINT *, const MINT *, const MINT *, MINT *); 28189092Sedvoid mp_rpow(const MINT *, short, MINT *); 29189092Sedvoid mp_sdiv(const MINT *, short, MINT *, short *); 30189092SedMINT *mp_xtom(const char *); 3180529Sdd 3280529Sdd#endif /* !_MP_H_ */ 33