X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcmath%2Fsilcmp.h;h=fe8939025ef07092f101063c0d687a56a4061514;hb=9b499de7f8fdbb24c32b8a0a84bb2fbbcdab782a;hp=aaff041274be97127ee878f6258d72e27daa54da;hpb=8fd8212bcd16f2b53fbedff2a9b9a4e8c15b9695;p=crypto.git diff --git a/lib/silcmath/silcmp.h b/lib/silcmath/silcmp.h index aaff0412..fe893902 100644 --- a/lib/silcmath/silcmp.h +++ b/lib/silcmath/silcmp.h @@ -4,7 +4,7 @@ Author: Pekka Riikonen - Copyright (C) 1997 - 2005 Pekka Riikonen + Copyright (C) 1997 - 2008 Pekka Riikonen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -43,7 +43,7 @@ #endif /* SILC_DIST_TFM */ #endif -/****d* silcmath/SilcMPAPI/SilcMPInt +/****d* silcmath/SilcMPInt * * NAME * @@ -60,7 +60,7 @@ typedef SILC_MP_INT SilcMPInt; /***/ -/****f* silcmath/SilcMPAPI/silc_mp_init +/****f* silcmath/silc_mp_init * * SYNOPSIS * @@ -68,14 +68,14 @@ typedef SILC_MP_INT SilcMPInt; * * DESCRIPTION * - * Initializes the SilcMPInt *that is the actual MP Integer. + * Initializes the SilcMPInt that is the actual MP Integer. * This must be called before any of the silc_mp_ routines can be * used. The integer is uninitialized with the silc_mp_uninit function. * ***/ void silc_mp_init(SilcMPInt *mp); -/****f* silcmath/SilcMPAPI/silc_mp_sinit +/****f* silcmath/silc_mp_sinit * * SYNOPSIS * @@ -83,23 +83,16 @@ void silc_mp_init(SilcMPInt *mp); * * DESCRIPTION * - * Initializes the SilcMPInt *that is the actual MP Integer. + * Initializes the SilcMPInt that is the actual MP Integer. * This must be called before any of the silc_mp_ routines can be - * used. The integer is uninitialized with the silc_mp_uninit function. - * This routine is equivalent to silc_mp_init but allocates the memory - * from `stack'. - * - * NOTES - * - * The `stack' is saved into the `mp' for the duration of the existence - * of `mp'. This means that `stack' must not become invalid while `mp' - * is used. It also means that any routine that may need memory allocation - * to for example enlarge `mp' will allocate the memory from `stack'. + * used. The integer is uninitialized with the silc_mp_suninit function. + * If `stack' is non-NULL it will be used as the memory source. If it + * is NULL, this call is equivalent to silc_mp_init. * ***/ SilcBool silc_mp_sinit(SilcStack stack, SilcMPInt *mp); -/****f* silcmath/SilcMPAPI/silc_mp_uninit +/****f* silcmath/silc_mp_uninit * * SYNOPSIS * @@ -112,7 +105,20 @@ SilcBool silc_mp_sinit(SilcStack stack, SilcMPInt *mp); ***/ void silc_mp_uninit(SilcMPInt *mp); -/****f* silcmath/SilcMPAPI/silc_mp_size +/****f* silcmath/silc_mp_suninit + * + * SYNOPSIS + * + * void silc_mp_suninit(SilcStack stack, SilcMPInt *mp); + * + * DESCRIPTION + * + * Uninitializes the MP Integer. + * + ***/ +void silc_mp_suninit(SilcStack stack, SilcMPInt *mp); + +/****f* silcmath/silc_mp_size * * SYNOPSIS * @@ -125,7 +131,7 @@ void silc_mp_uninit(SilcMPInt *mp); ***/ size_t silc_mp_size(SilcMPInt *mp); -/****f* silcmath/SilcMPAPI/silc_mp_sizeinbase +/****f* silcmath/silc_mp_sizeinbase * * SYNOPSIS * @@ -147,7 +153,7 @@ size_t silc_mp_size(SilcMPInt *mp); ***/ size_t silc_mp_sizeinbase(SilcMPInt *mp, int base); -/****f* silcmath/SilcMPAPI/silc_mp_set +/****f* silcmath/silc_mp_set * * SYNOPSIS * @@ -161,7 +167,7 @@ size_t silc_mp_sizeinbase(SilcMPInt *mp, int base); ***/ void silc_mp_set(SilcMPInt *dst, SilcMPInt *src); -/****f* silcmath/SilcMPAPI/silc_mp_set_ui +/****f* silcmath/silc_mp_set_ui * * SYNOPSIS * @@ -175,7 +181,7 @@ void silc_mp_set(SilcMPInt *dst, SilcMPInt *src); ***/ void silc_mp_set_ui(SilcMPInt *dst, SilcUInt32 ui); -/****f* silcmath/SilcMPAPI/silc_mp_set_si +/****f* silcmath/silc_mp_set_si * * SYNOPSIS * @@ -189,7 +195,7 @@ void silc_mp_set_ui(SilcMPInt *dst, SilcUInt32 ui); ***/ void silc_mp_set_si(SilcMPInt *dst, SilcInt32 si); -/****f* silcmath/SilcMPAPI/silc_mp_set_str +/****f* silcmath/silc_mp_set_str * * SYNOPSIS * @@ -208,7 +214,7 @@ void silc_mp_set_si(SilcMPInt *dst, SilcInt32 si); ***/ void silc_mp_set_str(SilcMPInt *dst, const char *str, int base); -/****f* silcmath/SilcMPAPI/silc_mp_get_ui +/****f* silcmath/silc_mp_get_ui * * SYNOPSIS * @@ -221,7 +227,7 @@ void silc_mp_set_str(SilcMPInt *dst, const char *str, int base); ***/ SilcUInt32 silc_mp_get_ui(SilcMPInt *mp); -/****f* silcmath/SilcMPAPI/silc_mp_get_str +/****f* silcmath/silc_mp_get_str * * SYNOPSIS * @@ -241,7 +247,7 @@ SilcUInt32 silc_mp_get_ui(SilcMPInt *mp); ***/ char *silc_mp_get_str(char *str, SilcMPInt *mp, int base); -/****f* silcmath/SilcMPAPI/silc_mp_add +/****f* silcmath/silc_mp_add * * SYNOPSIS * @@ -254,7 +260,7 @@ char *silc_mp_get_str(char *str, SilcMPInt *mp, int base); ***/ void silc_mp_add(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); -/****f* silcmath/SilcMPAPI/silc_mp_add_ui +/****f* silcmath/silc_mp_add_ui * * SYNOPSIS * @@ -268,7 +274,7 @@ void silc_mp_add(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); ***/ void silc_mp_add_ui(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 ui); -/****f* silcmath/SilcMPAPI/silc_mp_sub +/****f* silcmath/silc_mp_sub * * SYNOPSIS * @@ -281,7 +287,7 @@ void silc_mp_add_ui(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 ui); ***/ void silc_mp_sub(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); -/****f* silcmath/SilcMPAPI/silc_mp_sub_ui +/****f* silcmath/silc_mp_sub_ui * * SYNOPSIS * @@ -295,7 +301,7 @@ void silc_mp_sub(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); ***/ void silc_mp_sub_ui(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 ui); -/****f* silcmath/SilcMPAPI/silc_mp_mul +/****f* silcmath/silc_mp_mul * * SYNOPSIS * @@ -308,7 +314,7 @@ void silc_mp_sub_ui(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 ui); ***/ void silc_mp_mul(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); -/****f* silcmath/SilcMPAPI/silc_mp_mul_ui +/****f* silcmath/silc_mp_mul_ui * * SYNOPSIS * @@ -322,7 +328,7 @@ void silc_mp_mul(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); ***/ void silc_mp_mul_ui(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 ui); -/****f* silcmath/SilcMPAPI/silc_mp_mul_2exp +/****f* silcmath/silc_mp_mul_2exp * * SYNOPSIS * @@ -336,7 +342,7 @@ void silc_mp_mul_ui(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 ui); ***/ void silc_mp_mul_2exp(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 exp); -/****f* silcmath/SilcMPAPI/silc_mp_sqrt +/****f* silcmath/silc_mp_sqrt * * SYNOPSIS * @@ -349,7 +355,7 @@ void silc_mp_mul_2exp(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 exp); ***/ void silc_mp_sqrt(SilcMPInt *dst, SilcMPInt *src); -/****f* silcmath/SilcMPAPI/silc_mp_div +/****f* silcmath/silc_mp_div * * SYNOPSIS * @@ -363,7 +369,7 @@ void silc_mp_sqrt(SilcMPInt *dst, SilcMPInt *src); ***/ void silc_mp_div(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); -/****f* silcmath/SilcMPAPI/silc_mp_div_ui +/****f* silcmath/silc_mp_div_ui * * SYNOPSIS * @@ -377,7 +383,7 @@ void silc_mp_div(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); ***/ void silc_mp_div_ui(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 ui); -/****f* silcmath/SilcMPAPI/silc_mp_div_qr +/****f* silcmath/silc_mp_div_qr * * SYNOPSIS * @@ -395,7 +401,7 @@ void silc_mp_div_ui(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 ui); void silc_mp_div_qr(SilcMPInt *q, SilcMPInt *r, SilcMPInt *mp1, SilcMPInt *mp2); -/****f* silcmath/SilcMPAPI/silc_mp_div_2exp +/****f* silcmath/silc_mp_div_2exp * * SYNOPSIS * @@ -409,7 +415,7 @@ void silc_mp_div_qr(SilcMPInt *q, SilcMPInt *r, SilcMPInt *mp1, ***/ void silc_mp_div_2exp(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 exp); -/****f* silcmath/SilcMPAPI/silc_mp_div_2exp_qr +/****f* silcmath/silc_mp_div_2exp_qr * * SYNOPSIS * @@ -427,7 +433,7 @@ void silc_mp_div_2exp(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 exp); void silc_mp_div_2exp_qr(SilcMPInt *q, SilcMPInt *r, SilcMPInt *mp1, SilcUInt32 exp); -/****f* silcmath/SilcMPAPI/silc_mp_mod +/****f* silcmath/silc_mp_mod * * SYNOPSIS * @@ -443,7 +449,7 @@ void silc_mp_div_2exp_qr(SilcMPInt *q, SilcMPInt *r, SilcMPInt *mp1, ***/ void silc_mp_mod(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); -/****f* silcmath/SilcMPAPI/silc_mp_mod_ui +/****f* silcmath/silc_mp_mod_ui * * SYNOPSIS * @@ -458,7 +464,7 @@ void silc_mp_mod(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); ***/ void silc_mp_mod_ui(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 ui); -/****f* silcmath/SilcMPAPI/silc_mp_mod_2exp +/****f* silcmath/silc_mp_mod_2exp * * SYNOPSIS * @@ -474,7 +480,7 @@ void silc_mp_mod_ui(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 ui); ***/ void silc_mp_mod_2exp(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 ui); -/****f* silcmath/SilcMPAPI/silc_mp_pow +/****f* silcmath/silc_mp_pow * * SYNOPSIS * @@ -488,7 +494,7 @@ void silc_mp_mod_2exp(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 ui); ***/ void silc_mp_pow(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *exp); -/****f* silcmath/SilcMPAPI/silc_mp_pow_ui +/****f* silcmath/silc_mp_pow_ui * * SYNOPSIS * @@ -502,7 +508,7 @@ void silc_mp_pow(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *exp); ***/ void silc_mp_pow_ui(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 exp); -/****f* silcmath/SilcMPAPI/silc_mp_pow_mod +/****f* silcmath/silc_mp_pow_mod * * SYNOPSIS * @@ -518,7 +524,7 @@ void silc_mp_pow_ui(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 exp); void silc_mp_pow_mod(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *exp, SilcMPInt *mod); -/****f* silcmath/SilcMPAPI/silc_mp_pow_mod_ui +/****f* silcmath/silc_mp_pow_mod_ui * * SYNOPSIS * @@ -534,7 +540,7 @@ void silc_mp_pow_mod(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *exp, void silc_mp_pow_mod_ui(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 exp, SilcMPInt *mod); -/****f* silcmath/SilcMPAPI/silc_mp_modinv +/****f* silcmath/silc_mp_modinv * * SYNOPSIS * @@ -562,7 +568,7 @@ void silc_mp_pow_mod_ui(SilcMPInt *dst, SilcMPInt *mp1, SilcUInt32 exp, ***/ void silc_mp_modinv(SilcMPInt *inv, SilcMPInt *a, SilcMPInt *n); -/****f* silcmath/SilcMPAPI/silc_mp_gcd +/****f* silcmath/silc_mp_gcd * * SYNOPSIS * @@ -576,7 +582,7 @@ void silc_mp_modinv(SilcMPInt *inv, SilcMPInt *a, SilcMPInt *n); ***/ void silc_mp_gcd(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); -/****f* silcmath/SilcMPAPI/silc_mp_gcdext +/****f* silcmath/silc_mp_gcdext * * SYNOPSIS * @@ -592,7 +598,7 @@ void silc_mp_gcd(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); void silc_mp_gcdext(SilcMPInt *g, SilcMPInt *s, SilcMPInt *t, SilcMPInt *mp1, SilcMPInt *mp2); -/****f* silcmath/SilcMPAPI/silc_mp_cmp +/****f* silcmath/silc_mp_cmp * * SYNOPSIS * @@ -606,7 +612,7 @@ void silc_mp_gcdext(SilcMPInt *g, SilcMPInt *s, SilcMPInt *t, SilcMPInt *mp1, ***/ int silc_mp_cmp(SilcMPInt *mp1, SilcMPInt *mp2); -/****f* silcmath/SilcMPAPI/silc_mp_cmp_si +/****f* silcmath/silc_mp_cmp_si * * SYNOPSIS * @@ -620,7 +626,7 @@ int silc_mp_cmp(SilcMPInt *mp1, SilcMPInt *mp2); ***/ int silc_mp_cmp_si(SilcMPInt *mp1, SilcInt32 si); -/****f* silcmath/SilcMPAPI/silc_mp_cmp_ui +/****f* silcmath/silc_mp_cmp_ui * * SYNOPSIS * @@ -635,7 +641,7 @@ int silc_mp_cmp_si(SilcMPInt *mp1, SilcInt32 si); ***/ int silc_mp_cmp_ui(SilcMPInt *mp1, SilcUInt32 ui); -/****f* silcmath/SilcMPAPI/silc_mp_mp2bin +/****f* silcmath/silc_mp_mp2bin * * SYNOPSIS * @@ -652,7 +658,7 @@ int silc_mp_cmp_ui(SilcMPInt *mp1, SilcUInt32 ui); unsigned char *silc_mp_mp2bin(SilcMPInt *val, SilcUInt32 len, SilcUInt32 *ret_len); -/****f* silcmath/SilcMPAPI/silc_mp_mp2bin_noalloc +/****f* silcmath/silc_mp_mp2bin_noalloc * * SYNOPSIS * @@ -668,7 +674,7 @@ unsigned char *silc_mp_mp2bin(SilcMPInt *val, SilcUInt32 len, void silc_mp_mp2bin_noalloc(SilcMPInt *val, unsigned char *dst, SilcUInt32 dst_len); -/****f* silcmath/SilcMPAPI/silc_mp_bin2mp +/****f* silcmath/silc_mp_bin2mp * * SYNOPSIS * @@ -683,7 +689,7 @@ void silc_mp_mp2bin_noalloc(SilcMPInt *val, unsigned char *dst, ***/ void silc_mp_bin2mp(unsigned char *data, SilcUInt32 len, SilcMPInt *ret); -/****f* silcmath/SilcMPAPI/silc_mp_abs +/****f* silcmath/silc_mp_abs * * SYNOPSIS * @@ -696,7 +702,7 @@ void silc_mp_bin2mp(unsigned char *data, SilcUInt32 len, SilcMPInt *ret); ***/ void silc_mp_abs(SilcMPInt *dst, SilcMPInt *src); -/****f* silcmath/SilcMPAPI/silc_mp_neg +/****f* silcmath/silc_mp_neg * * SYNOPSIS * @@ -709,7 +715,7 @@ void silc_mp_abs(SilcMPInt *dst, SilcMPInt *src); ***/ void silc_mp_neg(SilcMPInt *dst, SilcMPInt *src); -/****f* silcmath/SilcMPAPI/silc_mp_and +/****f* silcmath/silc_mp_and * * SYNOPSIS * @@ -722,7 +728,7 @@ void silc_mp_neg(SilcMPInt *dst, SilcMPInt *src); ***/ void silc_mp_and(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); -/****f* silcmath/SilcMPAPI/silc_mp_or +/****f* silcmath/silc_mp_or * * SYNOPSIS * @@ -735,7 +741,7 @@ void silc_mp_and(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); ***/ void silc_mp_or(SilcMPInt *dst, SilcMPInt *mp1, SilcMPInt *mp2); -/****f* silcmath/SilcMPAPI/silc_mp_xor +/****f* silcmath/silc_mp_xor * * SYNOPSIS *