diff --git a/ChangeLog b/ChangeLog
index f21958d108a01eaa283c02928217ac3fdd241ac2..b634e6f9c274f9639e3e281527d82b4dd7c972f7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2001-10-08  Niels M�ller  <nisse@cuckoo.hack.org>
 
+	* yarrow.h (struct yarrow_key_event_ctx): New struct.
+
 	* yarrow256.c (yarrow_fast_reseed): Generate two block of output
 	using the old key and feed into the pool.
 
diff --git a/yarrow.h b/yarrow.h
index 464f9947740d400175f5b4e79707c4d887683d18..1f4fec9795c7093d098c4bf52fffbe61127750ee 100644
--- a/yarrow.h
+++ b/yarrow.h
@@ -103,5 +103,20 @@ yarrow256_random(struct yarrow256_ctx *ctx, unsigned length, uint8_t *dst);
 int
 yarrow256_seeded(struct yarrow256_ctx *ctx);
 
+/* Key event estimator */
+struct yarrow_key_event_ctx
+{
+  /* Counter for initial priming of the state */
+  unsigned index;
+  unsigned chars[16];
+  unsigned previous;
+};
 
+void
+yarrow_key_event_init(struct yarrow_key_event_ctx *ctx);
+
+unsigned
+yarrow_key_event_estimate(struct yarrow_key_event_ctx *ctx,
+			  unsigned key, unsigned time);
+  
 #endif /* NETTLE_YARROW_COMPAT_H_INCLUDED */