diff --git a/bufaux.h b/bufaux.h
index c0182da..765ee5e 100644
--- a/bufaux.h
+++ b/bufaux.h
@@ -10,7 +10,7 @@
  * called by a name other than "ssh" or "Secure Shell".
  */
 
-/* RCSID("$OpenBSD: bufaux.h,v 1.11 2001/01/21 19:05:45 markus Exp $"); */
+/* RCSID("$OpenBSD: bufaux.h,v 1.12 2001/06/26 06:32:48 itojun Exp $"); */
 
 #ifndef BUFAUX_H
 #define BUFAUX_H
@@ -22,30 +22,30 @@
  * Stores an BIGNUM in the buffer with a 2-byte msb first bit count, followed
  * by (bits+7)/8 bytes of binary data, msb first.
  */
-void    buffer_put_bignum(Buffer * buffer, BIGNUM * value);
-void    buffer_put_bignum2(Buffer * buffer, BIGNUM * value);
+void    buffer_put_bignum(Buffer *, BIGNUM *);
+void    buffer_put_bignum2(Buffer *, BIGNUM *);
 
 /* Retrieves an BIGNUM from the buffer. */
-int     buffer_get_bignum(Buffer * buffer, BIGNUM * value);
-int	buffer_get_bignum2(Buffer *buffer, BIGNUM * value);
+int     buffer_get_bignum(Buffer *, BIGNUM *);
+int	buffer_get_bignum2(Buffer *, BIGNUM *);
 
 /* Returns an integer from the buffer (4 bytes, msb first). */
-u_int buffer_get_int(Buffer * buffer);
+u_int buffer_get_int(Buffer *);
 #ifdef HAVE_U_INT64_T
-u_int64_t buffer_get_int64(Buffer *buffer);
+u_int64_t buffer_get_int64(Buffer *);
 #endif
 
 /* Stores an integer in the buffer in 4 bytes, msb first. */
-void    buffer_put_int(Buffer * buffer, u_int value);
+void    buffer_put_int(Buffer *, u_int);
 #ifdef HAVE_U_INT64_T
-void	buffer_put_int64(Buffer *buffer, u_int64_t value);
+void	buffer_put_int64(Buffer *, u_int64_t);
 #endif
 
 /* Returns a character from the buffer (0 - 255). */
-int     buffer_get_char(Buffer * buffer);
+int     buffer_get_char(Buffer *);
 
 /* Stores a character in the buffer. */
-void    buffer_put_char(Buffer * buffer, int value);
+void    buffer_put_char(Buffer *, int);
 
 /*
  * Returns an arbitrary binary string from the buffer.  The string cannot be
@@ -55,10 +55,10 @@
  * stored there.  A null character will be automatically appended to the
  * returned string, and is not counted in length.
  */
-char   *buffer_get_string(Buffer * buffer, u_int *length_ptr);
+char   *buffer_get_string(Buffer *, u_int *);
 
 /* Stores and arbitrary binary string in the buffer. */
-void    buffer_put_string(Buffer * buffer, const void *buf, u_int len);
-void	buffer_put_cstring(Buffer *buffer, const char *s);
+void    buffer_put_string(Buffer *, const void *, u_int);
+void	buffer_put_cstring(Buffer *, const char *);
 
 #endif				/* BUFAUX_H */
