/* -*-c-*-
*
- * $Id: buf.h,v 1.2 2003/11/10 22:18:30 mdw Exp $
+ * $Id: buf.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
*
* Reading and writing packet buffers
*
* MA 02111-1307, USA.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: buf.h,v $
- * Revision 1.2 2003/11/10 22:18:30 mdw
- * Build fixes.
- *
- * Revision 1.1 2003/10/11 21:02:33 mdw
- * Import buf stuff from tripe.
- *
- * Revision 1.1 2001/06/19 22:09:54 mdw
- * Expose interface, for use in the proxy.
- *
- */
-
#ifndef CATACOMB_BUF_H
#define CATACOMB_BUF_H
# include "mp.h"
#endif
+#ifndef CATACOMB_EC_H
+# include "ec.h"
+#endif
+
/*----- Data structures ---------------------------------------------------*/
/* --- Buffers --- *
extern int buf_putmp(buf */*b*/, mp */*m*/);
+/* --- @buf_getec@ --- *
+ *
+ * Arguments: @buf *b@ = pointer to a buffer block
+ * @ec *p@ = where to put the point
+ *
+ * Returns: Zero if it worked, nonzero if it failed.
+ *
+ * Use: Gets a multiprecision integer from a buffer. The point must
+ * be initialized.
+ */
+
+extern int buf_getec(buf */*b*/, ec */*p*/);
+
+/* --- @buf_putec@ --- *
+ *
+ * Arguments: @buf *b@ = pointer to a buffer block
+ * @ec *p@ = an elliptic curve point
+ *
+ * Returns: Zero if it worked, nonzero if there wasn't enough space.
+ *
+ * Use: Puts an elliptic curve point to a buffer.
+ */
+
+extern int buf_putec(buf */*b*/, ec */*p*/);
+
/*----- That's all, folks -------------------------------------------------*/
#ifdef __cplusplus