#define POLY1305_BLKSZ 16u
#define POLY1305_KEYSZ 16u
#define POLY1305_MASKSZ 16u
+#define POLY1305_TAGSZ 16u
/*----- Data structures ---------------------------------------------------*/
extern void poly1305_flush(poly1305_ctx */*ctx*/);
+/* --- @poly1305_flushzero@ --- *
+ *
+ * Arguments: @poly1305_ctx *ctx@ = MAC context to flush
+ *
+ * Returns: ---
+ *
+ * Use: Forces any buffered message data in the context to be
+ * processed, by hashing between zero and fifteen additional
+ * zero bytes. Like @poly1305_flush@, this has no effect if the
+ * the message processed so far is a whole number of blocks.
+ * Unlike @poly1305_flush@, the behaviour if the message is not
+ * a whole number of blocks is equivalent to actually hashing
+ * some extra data.
+ */
+
+extern void poly1305_flushzero(poly1305_ctx */*ctx*/);
+
/* --- @poly1305_concat@ --- *
*
* Arguments: @poly1305_ctx *ctx@ = destination context