| lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame] | 1 | /* | 
 | 2 |  * Big number math | 
 | 3 |  * Copyright (c) 2006, Jouni Malinen <j@w1.fi> | 
 | 4 |  * | 
 | 5 |  * This software may be distributed under the terms of the BSD license. | 
 | 6 |  * See README for more details. | 
 | 7 |  */ | 
 | 8 |  | 
 | 9 | #ifndef BIGNUM_H | 
 | 10 | #define BIGNUM_H | 
 | 11 |  | 
 | 12 | struct bignum; | 
 | 13 |  | 
 | 14 | struct bignum * bignum_init(void); | 
 | 15 | void bignum_deinit(struct bignum *n); | 
 | 16 | size_t bignum_get_unsigned_bin_len(struct bignum *n); | 
 | 17 | int bignum_get_unsigned_bin(const struct bignum *n, u8 *buf, size_t *len); | 
 | 18 | int bignum_set_unsigned_bin(struct bignum *n, const u8 *buf, size_t len); | 
 | 19 | int bignum_cmp(const struct bignum *a, const struct bignum *b); | 
 | 20 | int bignum_cmp_d(const struct bignum *a, unsigned long b); | 
 | 21 | int bignum_add(const struct bignum *a, const struct bignum *b, | 
 | 22 | 	       struct bignum *c); | 
 | 23 | int bignum_sub(const struct bignum *a, const struct bignum *b, | 
 | 24 | 	       struct bignum *c); | 
 | 25 | int bignum_mul(const struct bignum *a, const struct bignum *b, | 
 | 26 | 	       struct bignum *c); | 
 | 27 | int bignum_mulmod(const struct bignum *a, const struct bignum *b, | 
 | 28 | 		  const struct bignum *c, struct bignum *d); | 
 | 29 | int bignum_exptmod(const struct bignum *a, const struct bignum *b, | 
 | 30 | 		   const struct bignum *c, struct bignum *d); | 
 | 31 |  | 
 | 32 | #endif /* BIGNUM_H */ |