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