diff --git a/cdjpeg.h b/cdjpeg.h
index b3ea5d8..cc0d600 100644
--- a/cdjpeg.h
+++ b/cdjpeg.h
@@ -1,7 +1,7 @@
 /*
  * cdjpeg.h
  *
- * Copyright (C) 1994-1995, Thomas G. Lane.
+ * Copyright (C) 1994-1996, Thomas G. Lane.
  * This file is part of the Independent JPEG Group's software.
  * For conditions of distribution and use, see the accompanying README file.
  *
@@ -116,39 +116,39 @@
 
 /* Module selection routines for I/O modules. */
 
-EXTERN cjpeg_source_ptr jinit_read_bmp JPP((j_compress_ptr cinfo));
-EXTERN djpeg_dest_ptr jinit_write_bmp JPP((j_decompress_ptr cinfo,
-					   boolean is_os2));
-EXTERN cjpeg_source_ptr jinit_read_gif JPP((j_compress_ptr cinfo));
-EXTERN djpeg_dest_ptr jinit_write_gif JPP((j_decompress_ptr cinfo));
-EXTERN cjpeg_source_ptr jinit_read_ppm JPP((j_compress_ptr cinfo));
-EXTERN djpeg_dest_ptr jinit_write_ppm JPP((j_decompress_ptr cinfo));
-EXTERN cjpeg_source_ptr jinit_read_rle JPP((j_compress_ptr cinfo));
-EXTERN djpeg_dest_ptr jinit_write_rle JPP((j_decompress_ptr cinfo));
-EXTERN cjpeg_source_ptr jinit_read_targa JPP((j_compress_ptr cinfo));
-EXTERN djpeg_dest_ptr jinit_write_targa JPP((j_decompress_ptr cinfo));
+EXTERN(cjpeg_source_ptr) jinit_read_bmp JPP((j_compress_ptr cinfo));
+EXTERN(djpeg_dest_ptr) jinit_write_bmp JPP((j_decompress_ptr cinfo,
+					    boolean is_os2));
+EXTERN(cjpeg_source_ptr) jinit_read_gif JPP((j_compress_ptr cinfo));
+EXTERN(djpeg_dest_ptr) jinit_write_gif JPP((j_decompress_ptr cinfo));
+EXTERN(cjpeg_source_ptr) jinit_read_ppm JPP((j_compress_ptr cinfo));
+EXTERN(djpeg_dest_ptr) jinit_write_ppm JPP((j_decompress_ptr cinfo));
+EXTERN(cjpeg_source_ptr) jinit_read_rle JPP((j_compress_ptr cinfo));
+EXTERN(djpeg_dest_ptr) jinit_write_rle JPP((j_decompress_ptr cinfo));
+EXTERN(cjpeg_source_ptr) jinit_read_targa JPP((j_compress_ptr cinfo));
+EXTERN(djpeg_dest_ptr) jinit_write_targa JPP((j_decompress_ptr cinfo));
 
 /* cjpeg support routines (in rdswitch.c) */
 
-EXTERN boolean read_quant_tables JPP((j_compress_ptr cinfo, char * filename,
-				   int scale_factor, boolean force_baseline));
-EXTERN boolean read_scan_script JPP((j_compress_ptr cinfo, char * filename));
-EXTERN boolean set_quant_slots JPP((j_compress_ptr cinfo, char *arg));
-EXTERN boolean set_sample_factors JPP((j_compress_ptr cinfo, char *arg));
+EXTERN(boolean) read_quant_tables JPP((j_compress_ptr cinfo, char * filename,
+				    int scale_factor, boolean force_baseline));
+EXTERN(boolean) read_scan_script JPP((j_compress_ptr cinfo, char * filename));
+EXTERN(boolean) set_quant_slots JPP((j_compress_ptr cinfo, char *arg));
+EXTERN(boolean) set_sample_factors JPP((j_compress_ptr cinfo, char *arg));
 
 /* djpeg support routines (in rdcolmap.c) */
 
-EXTERN void read_color_map JPP((j_decompress_ptr cinfo, FILE * infile));
+EXTERN(void) read_color_map JPP((j_decompress_ptr cinfo, FILE * infile));
 
 /* common support routines (in cdjpeg.c) */
 
-EXTERN void enable_signal_catcher JPP((j_common_ptr cinfo));
-EXTERN void start_progress_monitor JPP((j_common_ptr cinfo,
-					cd_progress_ptr progress));
-EXTERN void end_progress_monitor JPP((j_common_ptr cinfo));
-EXTERN boolean keymatch JPP((char * arg, const char * keyword, int minchars));
-EXTERN FILE * read_stdin JPP((void));
-EXTERN FILE * write_stdout JPP((void));
+EXTERN(void) enable_signal_catcher JPP((j_common_ptr cinfo));
+EXTERN(void) start_progress_monitor JPP((j_common_ptr cinfo,
+					 cd_progress_ptr progress));
+EXTERN(void) end_progress_monitor JPP((j_common_ptr cinfo));
+EXTERN(boolean) keymatch JPP((char * arg, const char * keyword, int minchars));
+EXTERN(FILE *) read_stdin JPP((void));
+EXTERN(FILE *) write_stdout JPP((void));
 
 /* miscellaneous useful macros */
 
