xref: /freebsd/lib/libmp/mp.h (revision b1f9167f94059fd55c630891d359bcff987bd7eb)
1 /* $FreeBSD$ */
2 
3 #ifndef _MP_H_
4 #define _MP_H_
5 
6 #ifndef HEADER_BN_H_
7 #include <openssl/bn.h>
8 #endif
9 
10 typedef struct _mint {
11 	BIGNUM *bn;
12 } MINT;
13 
14 void mp_gcd(const MINT *, const MINT *, MINT *);
15 MINT *mp_itom(short);
16 void mp_madd(const MINT *, const MINT *, MINT *);
17 int mp_mcmp(const MINT *, const MINT *);
18 void mp_mdiv(const MINT *, const MINT *, MINT *, MINT *);
19 void mp_mfree(MINT *);
20 void mp_min(MINT *);
21 void mp_mout(const MINT *);
22 void mp_move(const MINT *, MINT *);
23 void mp_msqrt(const MINT *, MINT *, MINT *);
24 void mp_msub(const MINT *, const MINT *, MINT *);
25 char *mp_mtox(const MINT *);
26 void mp_mult(const MINT *, const MINT *, MINT *);
27 void mp_pow(const MINT *, const MINT *, const MINT *, MINT *);
28 void mp_rpow(const MINT *, short, MINT *);
29 void mp_sdiv(const MINT *, short, MINT *, short *);
30 MINT *mp_xtom(const char *);
31 
32 #endif /* !_MP_H_ */
33