* __scm.h, alist.c, alist.h, append.c, append.h, appinit.c,
authorJim Blandy <jimb@red-bean.com>
Mon, 14 Oct 1996 01:28:01 +0000 (01:28 +0000)
committerJim Blandy <jimb@red-bean.com>
Mon, 14 Oct 1996 01:28:01 +0000 (01:28 +0000)
arbiters.c, arbiters.h, async.c, async.h, boolean.c, boolean.h,
chars.c, chars.h, continuations.c, continuations.h, debug.c,
debug.h, dynwind.c, dynwind.h, eq.c, eq.h, error.c, eval.c,
eval.h, extchrs.c, extchrs.h, fdsocket.c, fdsocket.h, filesys.c,
filesys.h, fports.c, fports.h, gc.c, gdb_interface.h, gdbint.c,
gdbint.h, genio.c, genio.h, gscm.c, gscm.h, gsubr.c, gsubr.h,
hash.c, hash.h, hashtab.c, hashtab.h, init.c, ioext.c, ioext.h,
kw.c, kw.h, libguile.h, mallocs.c, mallocs.h, markers.c,
markers.h, mbstrings.c, mbstrings.h, numbers.c, numbers.h,
objprop.c, objprop.h, options.c, options.h, pairs.c, pairs.h,
ports.c, ports.h, posix.c, posix.h, print.c, print.h, procprop.c,
procprop.h, procs.c, procs.h, ramap.c, ramap.h, read.c, read.h,
root.c, scmsigs.c, scmsigs.h, sequences.c, sequences.h, simpos.c,
simpos.h, smob.c, socket.c, socket.h, srcprop.c, srcprop.h,
stackchk.c, stackchk.h, stime.c, stime.h, strings.c, strings.h,
strop.c, strop.h, strorder.c, strorder.h, strports.c, strports.h,
struct.c, struct.h, symbols.c, symbols.h, tag.c, tag.h, unif.c,
unif.h, variable.c, variable.h, vectors.c, vectors.h, version.c,
version.h, vports.c, vports.h, weaks.c, weaks.h: Use SCM_P to
declare functions with prototypes.  (Patch thanks to Marius
Vollmer.)

More prototype-related changes from Marius Vollmer:
* gdb_interface.h: Wrapped header file in #ifdef/#endif
* gscm.h (gscm_run_scm): Added prototype for `initfn' paramter.
* ports.h (ptobfuns): Added prototypes. This means some casting in
fports.c.
* fports.c: Added casts for initializations, since the functions
are defined to take FILE * as their stream argument, not SCM.
* fdsocket.c, fdsocket.h: Made `init_addr_buffer' static.
* genio.c (scm_gen_puts): Changed `unsigned char *str_data' parameter
to `char *str_data' to conform to prototype.

libguile/fports.c
libguile/gdb_interface.h
libguile/genio.c
libguile/gscm.h
libguile/ports.h

index 64842d6..ddcf2e9 100644 (file)
@@ -88,14 +88,10 @@ scm_sizet fwrite ();
  */
 
 /* should be called with SCM_DEFER_INTS active */
-#ifdef __STDC__
-SCM 
-scm_setbuf0 (SCM port)
-#else
+
 SCM 
 scm_setbuf0 (port)
      SCM port;
-#endif
 {
 #ifndef NOSETBUF
 #ifndef MSDOS
@@ -114,14 +110,10 @@ scm_setbuf0 (port)
  *
  * See PORT FLAGS in scm.h
  */
-#ifdef __STDC__
-long
-scm_mode_bits (char *modes)
-#else
+
 long
 scm_mode_bits (modes)
      char *modes;
-#endif
 {
   return (SCM_OPN
          | (strchr (modes, 'r') || strchr (modes, '+') ? SCM_RDNG : 0)
@@ -141,15 +133,11 @@ scm_mode_bits (modes)
  * Return the new port.
  */
 SCM_PROC(s_open_file, "open-file", 2, 0, 0, scm_open_file);
-#ifdef __STDC__
-SCM
-scm_open_file (SCM filename, SCM modes)
-#else
+
 SCM
 scm_open_file (filename, modes)
      SCM filename;
      SCM modes;
-#endif
 {
   SCM port;
   FILE *f;
@@ -197,14 +185,10 @@ scm_open_file (filename, modes)
  */
 
 SCM_PROC(s_port_mode, "port-mode", 1, 0, 0, scm_port_mode);
-#ifdef __STDC__
-SCM
-scm_port_mode (SCM port)
-#else
+
 SCM
 scm_port_mode (port)
      SCM port;
-#endif
 {
   char modes[3];
   modes[0] = '\0';
@@ -223,16 +207,14 @@ scm_port_mode (port)
 }
 
 
-#ifdef __STDC__
-static int 
-prinfport (SCM exp, SCM port, int writing)
-#else
+
+static int prinfport SCM_P ((SCM exp, SCM port, scm_print_state *pstate));
+
 static int 
-prinfport (exp, port, writing)
+prinfport (exp, port, pstate)
      SCM exp;
      SCM port;
-     int writing;
-#endif
+     scm_print_state *pstate;
 {
   SCM name;
   char * c;
@@ -254,14 +236,12 @@ prinfport (exp, port, writing)
 }
 
 
-#ifdef __STDC__
-static int
-scm_fgetc (FILE * s)
-#else
+
+static int scm_fgetc SCM_P ((FILE * s));
+
 static int
 scm_fgetc (s)
      FILE * s;
-#endif
 {
   if (feof (s))
     return EOF;
@@ -270,16 +250,14 @@ scm_fgetc (s)
 }
 
 #ifdef vms
-#ifdef __STDC__
-static scm_sizet 
-pwrite (char *ptr, scm_sizet size, nitems, FILE *port)
-#else
+
+static scm_sizet pwrite SCM_P ((char *ptr, scm_sizet size, nitems, FILE *port));
+
 static scm_sizet 
 pwrite (ptr, size, nitems, port)
      char *ptr;
      scm_sizet size, nitems;
      FILE *port;
-#endif
 {
   scm_sizet len = size * nitems;
   scm_sizet i = 0;
@@ -297,6 +275,9 @@ pwrite (ptr, size, nitems, port)
 /* This otherwise pointless code helps some poor 
  * crippled C compilers cope with life. 
  */
+
+static int local_fclose SCM_P ((FILE *fp));
+
 static int
 local_fclose (fp)
      FILE * fp;
@@ -304,6 +285,8 @@ local_fclose (fp)
   return fclose (fp);
 }
 
+static int local_fflush SCM_P ((FILE *fp));
+
 static int
 local_fflush (fp)
      FILE * fp;
@@ -311,6 +294,8 @@ local_fflush (fp)
   return fflush (fp);
 }
 
+static int local_fputc SCM_P ((int c, FILE *fp));
+
 static int
 local_fputc (c, fp)
      int c;
@@ -319,6 +304,8 @@ local_fputc (c, fp)
   return fputc (c, fp);
 }
 
+static int local_fputs SCM_P ((char *s, FILE *fp));
+
 static int
 local_fputs (s, fp)
      char * s;
@@ -327,6 +314,8 @@ local_fputs (s, fp)
   return fputs (s, fp);
 }
 
+static scm_sizet local_ffwrite SCM_P ((void *ptr, int size, int nitems, FILE *fp));
+
 static scm_sizet
 local_ffwrite (ptr, size, nitems, fp)
      void * ptr;
@@ -341,15 +330,15 @@ local_ffwrite (ptr, size, nitems, fp)
 scm_ptobfuns scm_fptob =
 {
   scm_mark0,
-  local_fclose,
+  (int (*) SCM_P ((SCM))) local_fclose,
   prinfport,
   0,
-  local_fputc,
-  local_fputs,
-  local_ffwrite,
-  local_fflush,
-  scm_fgetc,
-  local_fclose
+  (int (*) SCM_P ((int, SCM))) local_fputc,
+  (int (*) SCM_P ((char *, SCM))) local_fputs,
+  (scm_sizet (*) SCM_P ((char *, scm_sizet, scm_sizet, SCM))) local_ffwrite,
+  (int (*) SCM_P ((SCM))) local_fflush,
+  (int (*) SCM_P ((SCM))) scm_fgetc,
+  (int (*) SCM_P ((SCM))) local_fclose
 };
 
 /* {Pipe ports}
@@ -360,23 +349,16 @@ scm_ptobfuns scm_pipob =
   0,                           /* replaced by pclose in scm_init_ioext() */
   0,                           /* replaced by prinpipe in scm_init_ioext() */
   0,
-  local_fputc,
-  local_fputs,
-  local_ffwrite,
-  local_fflush,
-  scm_fgetc,
+  (int (*) SCM_P ((int, SCM))) local_fputc,
+  (int (*) SCM_P ((char *, SCM))) local_fputs,
+  (scm_sizet (*) SCM_P ((char *, scm_sizet, scm_sizet, SCM))) local_ffwrite,
+  (int (*) SCM_P ((SCM))) local_fflush,
+  (int (*) SCM_P ((SCM))) scm_fgetc,
   0
 };                             /* replaced by pclose in scm_init_ioext() */
 
-
-#ifdef __STDC__
-void
-scm_init_fports (void)
-#else
 void
 scm_init_fports ()
-#endif
 {
 #include "fports.x"
 }
-
index 36a0995..dd8aac3 100644 (file)
@@ -20,6 +20,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 The author can be reached at djurfeldt@nada.kth.se
 Mikael Djurfeldt, SANS/NADA KTH, 10044 STOCKHOLM, SWEDEN  */
 
+#ifndef GDB_INTERFACE_H
+#define GDB_INTERFACE_H
+
 /* This is the header file for GDB's interpreter interface.  The
    interpreter must supply definitions of all symbols declared in this
    file.
@@ -74,8 +77,6 @@ extern char *gdb_output;
 
 extern int gdb_output_length;
 
-#ifdef __STDC__
-
 /* Return TRUE if the interpreter regards VALUE's type as valid.  A
    lazy implementation is allowed to pass TRUE always.  FALSE should
    only be returned when it is certain that VALUE is not valid.
@@ -83,7 +84,7 @@ extern int gdb_output_length;
    In the "lisp/c" language mode, this is used to heuristically
    discriminate lisp values from C values during printing. */
 
-extern int gdb_maybe_valid_type_p (GDB_TYPE value);
+extern int gdb_maybe_valid_type_p SCM_P ((GDB_TYPE value));
 
 /* Parse expression in string STR.  Store result in GDB_RESULT, then
    return 0 to indicate success.  On error, return -1 to indicate
@@ -92,7 +93,7 @@ extern int gdb_maybe_valid_type_p (GDB_TYPE value);
    no message is passed.  Please note that the resulting value should
    be protected against garbage collection. */
 
-extern int gdb_read (char *str);
+extern int gdb_read SCM_P ((char *str));
 
 /* Evaluate expression EXP.  Store result in GDB_RESULT, then return 0
    to indicate success.  On error, return -1 to indicate failure.  Any
@@ -101,7 +102,7 @@ extern int gdb_read (char *str);
    if no output is passed.  Please note that the resulting lisp object
    should be protected against garbage collection. */
 
-extern int gdb_eval (GDB_TYPE exp);
+extern int gdb_eval SCM_P ((GDB_TYPE exp));
 
 /* Print VALUE.  Store output in GDB_OUTPUT and GDB_OUTPUT_LENGTH.
    Return 0 to indicate success.  On error, return -1 to indicate
@@ -109,7 +110,7 @@ extern int gdb_eval (GDB_TYPE exp);
    failure.  Note that this function should be robust against strange
    values.  It could in fact be passed any kind of value. */
 
-extern int gdb_print (GDB_TYPE value);
+extern int gdb_print SCM_P ((GDB_TYPE value));
 
 /* Bind NAME to VALUE in interpreter.  (GDB has previously obtained
    NAME by passing a string to gdb_read.)  Return 0 to indicate
@@ -121,18 +122,6 @@ extern int gdb_print (GDB_TYPE value);
    For scheme interpreters, this function should introduce top-level
    bindings. */
 
-extern int gdb_binding (GDB_TYPE name, GDB_TYPE value);
-
-#else
-
-extern int gdb_maybe_valid_type_p ();
-
-extern int gdb_read ();
-
-extern int gdb_eval ();
-
-extern int gdb_print ();
-
-extern int gdb_binding ();
+extern int gdb_binding SCM_P ((GDB_TYPE name, GDB_TYPE value));
 
-#endif /* __STDC__ */
+#endif /* GDB_INTERFACE_H */
index 815c9ff..5ebd86e 100644 (file)
 \f
 
 
-#ifdef __STDC__
-static void 
-scm_putc (int c, SCM port)
-#else
+
+static void scm_putc SCM_P ((int c, SCM port));
+
 static void 
 scm_putc (c, port)
      int c;
      SCM port;
-#endif
 {
   scm_sizet i = SCM_PTOBNUM (port);
   SCM_SYSCALL ((scm_ptobs[i].fputc) (c, SCM_STREAM (port)));
 }
 
 
-#ifdef __STDC__
-static void 
-scm_puts (char *s, SCM port)
-#else
+
+static void scm_puts SCM_P ((char *s, SCM port));
+
 static void 
 scm_puts (s, port)
      char *s;
      SCM port;
-#endif
 {
   scm_sizet i = SCM_PTOBNUM (port);
   SCM_SYSCALL ((scm_ptobs[i].fputs) (s, SCM_STREAM (port)));
@@ -86,17 +82,15 @@ scm_puts (s, port)
 }
 
 
-#ifdef __STDC__
-static int 
-scm_lfwrite (char *ptr, scm_sizet size, scm_sizet nitems, SCM port)
-#else
+
+static int scm_lfwrite SCM_P ((char *ptr, scm_sizet size, scm_sizet nitems, SCM port));
+
 static int 
 scm_lfwrite (ptr, size, nitems, port)
      char *ptr;
      scm_sizet size;
      scm_sizet nitems;
      SCM port;
-#endif
 {
   int ret;
   scm_sizet i = SCM_PTOBNUM (port);
@@ -111,15 +105,11 @@ scm_lfwrite (ptr, size, nitems, port)
 
 \f
 
-#ifdef __STDC__
-void
-scm_gen_putc (int c, SCM port)
-#else
+
 void
 scm_gen_putc (c, port)
      int c;
      SCM port;
-#endif
 {
   switch (SCM_PORT_REPRESENTATION (port))
     {
@@ -168,18 +158,12 @@ scm_gen_putc (c, port)
 \f
 
 
-#ifdef __STDC__
-void
-scm_gen_puts (enum scm_string_representation_type rep,
-             char *str_data,
-             SCM port)
-#else
+
 void
 scm_gen_puts (rep, str_data, port)
      enum scm_string_representation_type rep;
-     unsigned char *str_data;
+     char *str_data;
      SCM port;
-#endif
 {
   switch (rep)
     {
@@ -285,17 +269,13 @@ scm_gen_puts (rep, str_data, port)
 
 \f
 
-#ifdef __STDC__
-void
-scm_gen_write (enum scm_string_representation_type rep, char *str_data, scm_sizet nitems, SCM port)
-#else
+
 void
 scm_gen_write (rep, str_data, nitems, port)
      enum scm_string_representation_type rep;
      char *str_data;
      scm_sizet nitems;
      SCM port;
-#endif
 {
   /* is nitems bytes or characters in the mb_string case? */
 
@@ -401,33 +381,27 @@ scm_gen_write (rep, str_data, nitems, port)
 \f
 
 
-#ifdef __STDC__
-static int 
-scm_getc (SCM port)
-#else
+
+static int scm_getc SCM_P ((SCM port));
+
 static int 
 scm_getc (port)
      SCM port;
-#endif
 {
-  FILE *f;
+  SCM f;
   int c;
   scm_sizet i;
 
-  f = (FILE *)SCM_STREAM (port);
+  f = SCM_STREAM (port);
   i = SCM_PTOBNUM (port);
   SCM_SYSCALL (c = (scm_ptobs[i].fgetc) (f));
   return c;
 }
 
-#ifdef __STDC__
-int 
-scm_gen_getc (SCM port)
-#else
+
 int 
 scm_gen_getc (port)
      SCM port;
-#endif
 {
   int c;
 
@@ -512,15 +486,11 @@ scm_gen_getc (port)
     }
 }
 
-#ifdef __STDC__
-void 
-scm_gen_ungetc (int c, SCM port)
-#else
+
 void 
 scm_gen_ungetc (c, port)
      int c;
      SCM port;
-#endif
 {
 /*     SCM_ASSERT(!SCM_CRDYP(port), port, SCM_ARG2, "too many scm_gen_ungetc");*/
   SCM_CUNGET (c, port);
index e35f6e8..7e0554e 100644 (file)
@@ -265,33 +265,17 @@ typedef int GSCM_status;
 
 \f
 
-#ifdef __STDC__
-extern GSCM_status gscm_seval_str (SCM *answer, GSCM_top_level toplvl, char * str);
-extern GSCM_status gscm_seval_file (SCM *answer, GSCM_top_level toplvl, char * file_name);
-extern GSCM_status gscm_eval_str (char ** answer, GSCM_top_level toplvl, char * str);
-extern GSCM_status gscm_eval_file (char ** answer, GSCM_top_level toplvl, char * file_name);
-extern GSCM_status gscm_run_scm (int argc, char ** argv, FILE * in, FILE * out, FILE * err, GSCM_status (*initfn)(), char * initfile, char * initcmd);
-extern char * gscm_error_msg (int n);
-extern SCM gscm_make_subr (SCM (*fn)(), int req, int opt, int varp, char * doc);
-extern int gscm_2_char (SCM c);
-extern void gscm_2_str (char ** out, int * len_out, SCM * objp);
-extern void gscm_error (char * message, SCM args);
-extern void scm_init_guile (void);
-
-#else /* STDC */
-extern GSCM_status gscm_seval_str ();
-extern void format_load_command ();
-extern GSCM_status gscm_seval_file ();
-extern GSCM_status gscm_eval_str ();
-extern GSCM_status gscm_eval_file ();
-extern char * gscm_error_msg ();
-extern SCM gscm_make_subr ();
-extern int gscm_2_char ();
-extern void gscm_2_str ();
-extern void gscm_error ();
-extern GSCM_status gscm_run_scm ();
-extern void scm_init_guile ();
-
-#endif /* STDC */
+extern GSCM_status gscm_seval_str SCM_P ((SCM *answer, GSCM_top_level toplvl, char * str));
+extern GSCM_status gscm_seval_file SCM_P ((SCM *answer, GSCM_top_level toplvl, char * file_name));
+extern GSCM_status gscm_eval_str SCM_P ((char ** answer, GSCM_top_level toplvl, char * str));
+extern GSCM_status gscm_eval_file SCM_P ((char ** answer, GSCM_top_level toplvl, char * file_name));
+extern GSCM_status gscm_run_scm SCM_P ((int argc, char ** argv, FILE * in, FILE * out, FILE * err, GSCM_status (*initfn)(void), char * initfile, char * initcmd));
+extern char * gscm_error_msg SCM_P ((int n));
+extern SCM gscm_make_subr SCM_P ((SCM (*fn)(), int req, int opt, int varp, char * doc));
+extern int gscm_2_char SCM_P ((SCM c));
+extern void gscm_2_str SCM_P ((char ** out, int * len_out, SCM * objp));
+extern void gscm_error SCM_P ((char * message, SCM args));
+extern void scm_init_guile SCM_P ((void));
+
 #endif  /* GSCMH */
 
index 4cbba8e..46d0f5c 100644 (file)
@@ -138,16 +138,16 @@ extern int scm_port_table_size; /* Number of ports in scm_port_table.  */
 
 typedef struct scm_ptobfuns
 {
-  SCM (*mark) ();
-  int (*free) ();
-  int (*print) ();
-  SCM (*equalp) ();
-  int (*fputc) ();
-  int (*fputs) ();
-  scm_sizet (*fwrite) ();
-  int (*fflush) ();
-  int (*fgetc) ();
-  int (*fclose) ();
+  SCM (*mark) SCM_P ((SCM));
+  int (*free) SCM_P ((SCM));
+  int (*print) SCM_P ((SCM exp, SCM port, scm_print_state *pstate));
+  SCM (*equalp) SCM_P ((SCM, SCM));
+  int (*fputc) SCM_P ((int, SCM stream));
+  int (*fputs) SCM_P ((char *, SCM stream));
+  scm_sizet (*fwrite) SCM_P ((char *ptr, scm_sizet size, scm_sizet nitems, SCM stream));
+  int (*fflush) SCM_P ((SCM stream));
+  int (*fgetc) SCM_P ((SCM stream));
+  int (*fclose) SCM_P ((SCM stream));
 } scm_ptobfuns;
 
 #define SCM_PTOBNUM(x) (0x0ff & (SCM_CAR(x)>>8));
@@ -159,93 +159,42 @@ extern scm_sizet scm_numptob;
 extern int scm_port_table_room;
 
 \f
-#ifdef __STDC__
-extern SCM scm_markstream (SCM ptr);
-extern long scm_newptob (scm_ptobfuns *ptob);
-extern void scm_fflush (SCM port);
-extern SCM scm_char_ready_p (SCM port);
-extern SCM scm_ungetc_char_ready_p (SCM port);
-extern SCM scm_current_input_port (void);
-extern SCM scm_current_output_port (void);
-extern SCM scm_current_error_port (void);
-extern SCM scm_set_current_input_port (SCM port);
-extern SCM scm_set_current_output_port (SCM port);
-extern SCM scm_set_current_error_port (SCM port);
-extern struct scm_port_table * scm_add_to_port_table (SCM port);
-extern void scm_remove_from_port_table (SCM port);
-extern SCM scm_pt_size (void);
-extern SCM scm_pt_member (SCM member);
-extern int scm_revealed_count (SCM port);
-extern SCM scm_port_revealed (SCM port);
-extern SCM scm_set_port_revealed_x (SCM port, SCM rcount);
-extern SCM scm_close_port (SCM port);
-extern SCM scm_close_all_ports_except (SCM ports);
-extern SCM scm_input_port_p (SCM x);
-extern SCM scm_output_port_p (SCM x);
-extern SCM scm_eof_object_p (SCM x);
-extern SCM scm_force_output (SCM port);
-extern SCM scm_read_char (SCM port);
-extern SCM scm_peek_char (SCM port);
-extern SCM scm_unread_char (SCM cobj, SCM port);
-extern SCM scm_port_line (SCM port);
-extern SCM scm_port_column (SCM port);
-extern SCM scm_port_filename (SCM port);
-extern SCM scm_set_port_filename_x (SCM port, SCM filename);
-extern void scm_prinport (SCM exp, SCM port, char *type);
-extern void scm_ports_prehistory (void);
-extern SCM scm_void_port (char * mode_str);
-extern SCM scm_sys_make_void_port (SCM mode);
-extern void scm_init_ports (void);
-
-#else /* STDC */
-extern SCM scm_markstream ();
-extern long scm_newptob ();
-extern void scm_fflush ();
-extern SCM scm_char_ready_p ();
-extern SCM scm_ungetc_char_ready_p ();
-extern SCM scm_current_input_port ();
-extern SCM scm_current_output_port ();
-extern SCM scm_current_error_port ();
-extern SCM scm_set_current_input_port ();
-extern SCM scm_set_current_output_port ();
-extern SCM scm_set_current_error_port ();
-extern struct scm_port_table * scm_add_to_port_table ();
-extern void scm_remove_from_port_table ();
-extern SCM scm_pt_size ();
-extern SCM scm_pt_member ();
-extern int scm_revealed_count ();
-extern SCM scm_port_revealed ();
-extern SCM scm_set_port_revealed_x ();
-extern SCM scm_close_port ();
-extern SCM scm_close_all_ports_except ();
-extern SCM scm_input_port_p ();
-extern SCM scm_output_port_p ();
-extern SCM scm_eof_object_p ();
-extern SCM scm_force_output ();
-extern SCM scm_read_char ();
-extern SCM scm_peek_char ();
-extern SCM scm_unread_char ();
-extern SCM scm_port_line ();
-extern SCM scm_port_column ();
-extern SCM scm_port_filename ();
-extern SCM scm_set_port_filename_x ();
-extern void scm_prinport ();
-extern void scm_ports_prehistory ();
-extern SCM scm_void_port ();
-extern SCM scm_sys_make_void_port ();
-extern void scm_init_ports ();
-
-#endif /* STDC */
-
-
-
-
-
-
-
-
-
-
 
+extern SCM scm_markstream SCM_P ((SCM ptr));
+extern long scm_newptob SCM_P ((scm_ptobfuns *ptob));
+extern void scm_fflush SCM_P ((SCM port));
+extern SCM scm_char_ready_p SCM_P ((SCM port));
+extern SCM scm_ungetc_char_ready_p SCM_P ((SCM port));
+extern SCM scm_current_input_port SCM_P ((void));
+extern SCM scm_current_output_port SCM_P ((void));
+extern SCM scm_current_error_port SCM_P ((void));
+extern SCM scm_set_current_input_port SCM_P ((SCM port));
+extern SCM scm_set_current_output_port SCM_P ((SCM port));
+extern SCM scm_set_current_error_port SCM_P ((SCM port));
+extern struct scm_port_table * scm_add_to_port_table SCM_P ((SCM port));
+extern void scm_remove_from_port_table SCM_P ((SCM port));
+extern SCM scm_pt_size SCM_P ((void));
+extern SCM scm_pt_member SCM_P ((SCM member));
+extern int scm_revealed_count SCM_P ((SCM port));
+extern SCM scm_port_revealed SCM_P ((SCM port));
+extern SCM scm_set_port_revealed_x SCM_P ((SCM port, SCM rcount));
+extern SCM scm_close_port SCM_P ((SCM port));
+extern SCM scm_close_all_ports_except SCM_P ((SCM ports));
+extern SCM scm_input_port_p SCM_P ((SCM x));
+extern SCM scm_output_port_p SCM_P ((SCM x));
+extern SCM scm_eof_object_p SCM_P ((SCM x));
+extern SCM scm_force_output SCM_P ((SCM port));
+extern SCM scm_read_char SCM_P ((SCM port));
+extern SCM scm_peek_char SCM_P ((SCM port));
+extern SCM scm_unread_char SCM_P ((SCM cobj, SCM port));
+extern SCM scm_port_line SCM_P ((SCM port));
+extern SCM scm_port_column SCM_P ((SCM port));
+extern SCM scm_port_filename SCM_P ((SCM port));
+extern SCM scm_set_port_filename_x SCM_P ((SCM port, SCM filename));
+extern void scm_prinport SCM_P ((SCM exp, SCM port, char *type));
+extern void scm_ports_prehistory SCM_P ((void));
+extern SCM scm_void_port SCM_P ((char * mode_str));
+extern SCM scm_sys_make_void_port SCM_P ((SCM mode));
+extern void scm_init_ports SCM_P ((void));
 
 #endif  /* PORTSH */