diff --git a/rsa.h b/rsa.h
index c19b5a9..31acb2d 100644
--- a/rsa.h
+++ b/rsa.h
@@ -1,24 +1,25 @@
 /*
-
-rsa.h
-
-Author: Tatu Ylonen <ylo@cs.hut.fi>
-
-Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
-                   All rights reserved
-
-Created: Fri Mar  3 22:01:06 1995 ylo
-
-RSA key generation, encryption and decryption.
-
+ * 
+ * rsa.h
+ * 
+ * Author: Tatu Ylonen <ylo@cs.hut.fi>
+ * 
+ * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
+ *                    All rights reserved
+ * 
+ * Created: Fri Mar  3 22:01:06 1995 ylo
+ * 
+ * RSA key generation, encryption and decryption.
+ * 
 */
 
-/* RCSID("$Id: rsa.h,v 1.3 1999/11/10 23:40:23 damien Exp $"); */
-#include "config.h"
+/* RCSID("$Id: rsa.h,v 1.4 1999/11/24 13:26:22 damien Exp $"); */
 
 #ifndef RSA_H
 #define RSA_H
 
+#include "config.h"
+
 #ifdef HAVE_OPENSSL
 #include <openssl/bn.h>
 #include <openssl/rsa.h>
@@ -30,15 +31,15 @@
 #endif
 
 /* Calls SSL RSA_generate_key, only copies to prv and pub */
-void rsa_generate_key(RSA *prv, RSA *pub, unsigned int bits);
+void    rsa_generate_key(RSA * prv, RSA * pub, unsigned int bits);
 
 /* Indicates whether the rsa module is permitted to show messages on
    the terminal. */
-void rsa_set_verbose(int verbose);
+void rsa_set_verbose __P((int verbose));
 
-int  rsa_alive(void);
+int rsa_alive __P((void));
 
-void rsa_public_encrypt(BIGNUM *out, BIGNUM *in, RSA *prv);
-void rsa_private_decrypt(BIGNUM *out, BIGNUM *in, RSA *prv);
+void rsa_public_encrypt __P((BIGNUM * out, BIGNUM * in, RSA * prv));
+void rsa_private_decrypt __P((BIGNUM * out, BIGNUM * in, RSA * prv));
 
-#endif /* RSA_H */
+#endif				/* RSA_H */
