Added SILC Thread Queue API
[silc.git] / lib / silcmath / silcmp.h
index 22ad1926e8671030f37aa07123ce7e55a975bba2..662de1720c0072cbfa3f64ff6f623a1c004081d3 100644 (file)
@@ -4,7 +4,7 @@
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 1997 - 2005 Pekka Riikonen
+  Copyright (C) 1997 - 2007 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
@@ -68,7 +68,7 @@ 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.
  *
@@ -79,25 +79,18 @@ void silc_mp_init(SilcMPInt *mp);
  *
  * SYNOPSIS
  *
- *    bool silc_mp_sinit(SilcStack stack, SilcMPInt *mp);
+ *    SilcBool silc_mp_sinit(SilcStack stack, 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.
  *
  ***/
-bool silc_mp_sinit(SilcStack stack, SilcMPInt *mp);
+SilcBool silc_mp_sinit(SilcStack stack, SilcMPInt *mp);
 
 /****f* silcmath/SilcMPAPI/silc_mp_uninit
  *
@@ -112,6 +105,19 @@ bool silc_mp_sinit(SilcStack stack, SilcMPInt *mp);
  ***/
 void silc_mp_uninit(SilcMPInt *mp);
 
+/****f* silcmath/SilcMPAPI/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/SilcMPAPI/silc_mp_size
  *
  * SYNOPSIS
@@ -662,7 +668,7 @@ unsigned char *silc_mp_mp2bin(SilcMPInt *val, SilcUInt32 len,
  * DESCRIPTION
  *
  *    Same as silc_mp_mp2bin but does not allocate any memory.  The
- *    encoded data is returned into `dst' and it's length to the `ret_len'.
+ *    encoded data is returned into `dst' of size of `dst_len'.
  *
  ***/
 void silc_mp_mp2bin_noalloc(SilcMPInt *val, unsigned char *dst,