1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-12 14:50:19 +02:00

* __scm.h, alist.c, alist.h, append.c, append.h, appinit.c,

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.
This commit is contained in:
Jim Blandy 1996-10-14 01:28:01 +00:00
parent 0682f7ab1d
commit 1717856b4e
5 changed files with 124 additions and 250 deletions

View file

@ -88,14 +88,10 @@ scm_sizet fwrite ();
*/ */
/* should be called with SCM_DEFER_INTS active */ /* should be called with SCM_DEFER_INTS active */
#ifdef __STDC__
SCM
scm_setbuf0 (SCM port)
#else
SCM SCM
scm_setbuf0 (port) scm_setbuf0 (port)
SCM port; SCM port;
#endif
{ {
#ifndef NOSETBUF #ifndef NOSETBUF
#ifndef MSDOS #ifndef MSDOS
@ -114,14 +110,10 @@ scm_setbuf0 (port)
* *
* See PORT FLAGS in scm.h * See PORT FLAGS in scm.h
*/ */
#ifdef __STDC__
long
scm_mode_bits (char *modes)
#else
long long
scm_mode_bits (modes) scm_mode_bits (modes)
char *modes; char *modes;
#endif
{ {
return (SCM_OPN return (SCM_OPN
| (strchr (modes, 'r') || strchr (modes, '+') ? SCM_RDNG : 0) | (strchr (modes, 'r') || strchr (modes, '+') ? SCM_RDNG : 0)
@ -141,15 +133,11 @@ scm_mode_bits (modes)
* Return the new port. * Return the new port.
*/ */
SCM_PROC(s_open_file, "open-file", 2, 0, 0, scm_open_file); 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
scm_open_file (filename, modes) scm_open_file (filename, modes)
SCM filename; SCM filename;
SCM modes; SCM modes;
#endif
{ {
SCM port; SCM port;
FILE *f; FILE *f;
@ -197,14 +185,10 @@ scm_open_file (filename, modes)
*/ */
SCM_PROC(s_port_mode, "port-mode", 1, 0, 0, scm_port_mode); SCM_PROC(s_port_mode, "port-mode", 1, 0, 0, scm_port_mode);
#ifdef __STDC__
SCM
scm_port_mode (SCM port)
#else
SCM SCM
scm_port_mode (port) scm_port_mode (port)
SCM port; SCM port;
#endif
{ {
char modes[3]; char modes[3];
modes[0] = '\0'; modes[0] = '\0';
@ -223,16 +207,14 @@ scm_port_mode (port)
} }
#ifdef __STDC__
static int prinfport SCM_P ((SCM exp, SCM port, scm_print_state *pstate));
static int static int
prinfport (SCM exp, SCM port, int writing) prinfport (exp, port, pstate)
#else
static int
prinfport (exp, port, writing)
SCM exp; SCM exp;
SCM port; SCM port;
int writing; scm_print_state *pstate;
#endif
{ {
SCM name; SCM name;
char * c; char * c;
@ -254,14 +236,12 @@ prinfport (exp, port, writing)
} }
#ifdef __STDC__
static int static int scm_fgetc SCM_P ((FILE * s));
scm_fgetc (FILE * s)
#else
static int static int
scm_fgetc (s) scm_fgetc (s)
FILE * s; FILE * s;
#endif
{ {
if (feof (s)) if (feof (s))
return EOF; return EOF;
@ -270,16 +250,14 @@ scm_fgetc (s)
} }
#ifdef vms #ifdef vms
#ifdef __STDC__
static scm_sizet static scm_sizet pwrite SCM_P ((char *ptr, scm_sizet size, nitems, FILE *port));
pwrite (char *ptr, scm_sizet size, nitems, FILE *port)
#else
static scm_sizet static scm_sizet
pwrite (ptr, size, nitems, port) pwrite (ptr, size, nitems, port)
char *ptr; char *ptr;
scm_sizet size, nitems; scm_sizet size, nitems;
FILE *port; FILE *port;
#endif
{ {
scm_sizet len = size * nitems; scm_sizet len = size * nitems;
scm_sizet i = 0; scm_sizet i = 0;
@ -297,6 +275,9 @@ pwrite (ptr, size, nitems, port)
/* This otherwise pointless code helps some poor /* This otherwise pointless code helps some poor
* crippled C compilers cope with life. * crippled C compilers cope with life.
*/ */
static int local_fclose SCM_P ((FILE *fp));
static int static int
local_fclose (fp) local_fclose (fp)
FILE * fp; FILE * fp;
@ -304,6 +285,8 @@ local_fclose (fp)
return fclose (fp); return fclose (fp);
} }
static int local_fflush SCM_P ((FILE *fp));
static int static int
local_fflush (fp) local_fflush (fp)
FILE * fp; FILE * fp;
@ -311,6 +294,8 @@ local_fflush (fp)
return fflush (fp); return fflush (fp);
} }
static int local_fputc SCM_P ((int c, FILE *fp));
static int static int
local_fputc (c, fp) local_fputc (c, fp)
int c; int c;
@ -319,6 +304,8 @@ local_fputc (c, fp)
return fputc (c, fp); return fputc (c, fp);
} }
static int local_fputs SCM_P ((char *s, FILE *fp));
static int static int
local_fputs (s, fp) local_fputs (s, fp)
char * s; char * s;
@ -327,6 +314,8 @@ local_fputs (s, fp)
return 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 static scm_sizet
local_ffwrite (ptr, size, nitems, fp) local_ffwrite (ptr, size, nitems, fp)
void * ptr; void * ptr;
@ -341,15 +330,15 @@ local_ffwrite (ptr, size, nitems, fp)
scm_ptobfuns scm_fptob = scm_ptobfuns scm_fptob =
{ {
scm_mark0, scm_mark0,
local_fclose, (int (*) SCM_P ((SCM))) local_fclose,
prinfport, prinfport,
0, 0,
local_fputc, (int (*) SCM_P ((int, SCM))) local_fputc,
local_fputs, (int (*) SCM_P ((char *, SCM))) local_fputs,
local_ffwrite, (scm_sizet (*) SCM_P ((char *, scm_sizet, scm_sizet, SCM))) local_ffwrite,
local_fflush, (int (*) SCM_P ((SCM))) local_fflush,
scm_fgetc, (int (*) SCM_P ((SCM))) scm_fgetc,
local_fclose (int (*) SCM_P ((SCM))) local_fclose
}; };
/* {Pipe ports} /* {Pipe ports}
@ -360,23 +349,16 @@ scm_ptobfuns scm_pipob =
0, /* replaced by pclose in scm_init_ioext() */ 0, /* replaced by pclose in scm_init_ioext() */
0, /* replaced by prinpipe in scm_init_ioext() */ 0, /* replaced by prinpipe in scm_init_ioext() */
0, 0,
local_fputc, (int (*) SCM_P ((int, SCM))) local_fputc,
local_fputs, (int (*) SCM_P ((char *, SCM))) local_fputs,
local_ffwrite, (scm_sizet (*) SCM_P ((char *, scm_sizet, scm_sizet, SCM))) local_ffwrite,
local_fflush, (int (*) SCM_P ((SCM))) local_fflush,
scm_fgetc, (int (*) SCM_P ((SCM))) scm_fgetc,
0 0
}; /* replaced by pclose in scm_init_ioext() */ }; /* replaced by pclose in scm_init_ioext() */
#ifdef __STDC__
void
scm_init_fports (void)
#else
void void
scm_init_fports () scm_init_fports ()
#endif
{ {
#include "fports.x" #include "fports.x"
} }

View 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 The author can be reached at djurfeldt@nada.kth.se
Mikael Djurfeldt, SANS/NADA KTH, 10044 STOCKHOLM, SWEDEN */ 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 /* This is the header file for GDB's interpreter interface. The
interpreter must supply definitions of all symbols declared in this interpreter must supply definitions of all symbols declared in this
file. file.
@ -74,8 +77,6 @@ extern char *gdb_output;
extern int gdb_output_length; extern int gdb_output_length;
#ifdef __STDC__
/* Return TRUE if the interpreter regards VALUE's type as valid. A /* Return TRUE if the interpreter regards VALUE's type as valid. A
lazy implementation is allowed to pass TRUE always. FALSE should lazy implementation is allowed to pass TRUE always. FALSE should
only be returned when it is certain that VALUE is not valid. 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 In the "lisp/c" language mode, this is used to heuristically
discriminate lisp values from C values during printing. */ 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 /* Parse expression in string STR. Store result in GDB_RESULT, then
return 0 to indicate success. On error, return -1 to indicate 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 no message is passed. Please note that the resulting value should
be protected against garbage collection. */ 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 /* Evaluate expression EXP. Store result in GDB_RESULT, then return 0
to indicate success. On error, return -1 to indicate failure. Any 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 if no output is passed. Please note that the resulting lisp object
should be protected against garbage collection. */ 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. /* Print VALUE. Store output in GDB_OUTPUT and GDB_OUTPUT_LENGTH.
Return 0 to indicate success. On error, return -1 to indicate 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 failure. Note that this function should be robust against strange
values. It could in fact be passed any kind of value. */ 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 /* Bind NAME to VALUE in interpreter. (GDB has previously obtained
NAME by passing a string to gdb_read.) Return 0 to indicate 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 For scheme interpreters, this function should introduce top-level
bindings. */ bindings. */
extern int gdb_binding (GDB_TYPE name, GDB_TYPE value); extern int gdb_binding SCM_P ((GDB_TYPE name, GDB_TYPE value));
#else #endif /* GDB_INTERFACE_H */
extern int gdb_maybe_valid_type_p ();
extern int gdb_read ();
extern int gdb_eval ();
extern int gdb_print ();
extern int gdb_binding ();
#endif /* __STDC__ */

View file

@ -52,30 +52,26 @@
#ifdef __STDC__
static void static void scm_putc SCM_P ((int c, SCM port));
scm_putc (int c, SCM port)
#else
static void static void
scm_putc (c, port) scm_putc (c, port)
int c; int c;
SCM port; SCM port;
#endif
{ {
scm_sizet i = SCM_PTOBNUM (port); scm_sizet i = SCM_PTOBNUM (port);
SCM_SYSCALL ((scm_ptobs[i].fputc) (c, SCM_STREAM (port))); SCM_SYSCALL ((scm_ptobs[i].fputc) (c, SCM_STREAM (port)));
} }
#ifdef __STDC__
static void static void scm_puts SCM_P ((char *s, SCM port));
scm_puts (char *s, SCM port)
#else
static void static void
scm_puts (s, port) scm_puts (s, port)
char *s; char *s;
SCM port; SCM port;
#endif
{ {
scm_sizet i = SCM_PTOBNUM (port); scm_sizet i = SCM_PTOBNUM (port);
SCM_SYSCALL ((scm_ptobs[i].fputs) (s, SCM_STREAM (port))); SCM_SYSCALL ((scm_ptobs[i].fputs) (s, SCM_STREAM (port)));
@ -86,17 +82,15 @@ scm_puts (s, port)
} }
#ifdef __STDC__
static int static int scm_lfwrite SCM_P ((char *ptr, scm_sizet size, scm_sizet nitems, SCM port));
scm_lfwrite (char *ptr, scm_sizet size, scm_sizet nitems, SCM port)
#else
static int static int
scm_lfwrite (ptr, size, nitems, port) scm_lfwrite (ptr, size, nitems, port)
char *ptr; char *ptr;
scm_sizet size; scm_sizet size;
scm_sizet nitems; scm_sizet nitems;
SCM port; SCM port;
#endif
{ {
int ret; int ret;
scm_sizet i = SCM_PTOBNUM (port); scm_sizet i = SCM_PTOBNUM (port);
@ -111,15 +105,11 @@ scm_lfwrite (ptr, size, nitems, port)
#ifdef __STDC__
void
scm_gen_putc (int c, SCM port)
#else
void void
scm_gen_putc (c, port) scm_gen_putc (c, port)
int c; int c;
SCM port; SCM port;
#endif
{ {
switch (SCM_PORT_REPRESENTATION (port)) switch (SCM_PORT_REPRESENTATION (port))
{ {
@ -168,18 +158,12 @@ scm_gen_putc (c, port)
#ifdef __STDC__
void
scm_gen_puts (enum scm_string_representation_type rep,
char *str_data,
SCM port)
#else
void void
scm_gen_puts (rep, str_data, port) scm_gen_puts (rep, str_data, port)
enum scm_string_representation_type rep; enum scm_string_representation_type rep;
unsigned char *str_data; char *str_data;
SCM port; SCM port;
#endif
{ {
switch (rep) switch (rep)
{ {
@ -285,17 +269,13 @@ scm_gen_puts (rep, str_data, port)
#ifdef __STDC__
void
scm_gen_write (enum scm_string_representation_type rep, char *str_data, scm_sizet nitems, SCM port)
#else
void void
scm_gen_write (rep, str_data, nitems, port) scm_gen_write (rep, str_data, nitems, port)
enum scm_string_representation_type rep; enum scm_string_representation_type rep;
char *str_data; char *str_data;
scm_sizet nitems; scm_sizet nitems;
SCM port; SCM port;
#endif
{ {
/* is nitems bytes or characters in the mb_string case? */ /* is nitems bytes or characters in the mb_string case? */
@ -401,33 +381,27 @@ scm_gen_write (rep, str_data, nitems, port)
#ifdef __STDC__
static int static int scm_getc SCM_P ((SCM port));
scm_getc (SCM port)
#else
static int static int
scm_getc (port) scm_getc (port)
SCM port; SCM port;
#endif
{ {
FILE *f; SCM f;
int c; int c;
scm_sizet i; scm_sizet i;
f = (FILE *)SCM_STREAM (port); f = SCM_STREAM (port);
i = SCM_PTOBNUM (port); i = SCM_PTOBNUM (port);
SCM_SYSCALL (c = (scm_ptobs[i].fgetc) (f)); SCM_SYSCALL (c = (scm_ptobs[i].fgetc) (f));
return c; return c;
} }
#ifdef __STDC__
int
scm_gen_getc (SCM port)
#else
int int
scm_gen_getc (port) scm_gen_getc (port)
SCM port; SCM port;
#endif
{ {
int c; int c;
@ -512,15 +486,11 @@ scm_gen_getc (port)
} }
} }
#ifdef __STDC__
void
scm_gen_ungetc (int c, SCM port)
#else
void void
scm_gen_ungetc (c, port) scm_gen_ungetc (c, port)
int c; int c;
SCM port; SCM port;
#endif
{ {
/* SCM_ASSERT(!SCM_CRDYP(port), port, SCM_ARG2, "too many scm_gen_ungetc");*/ /* SCM_ASSERT(!SCM_CRDYP(port), port, SCM_ARG2, "too many scm_gen_ungetc");*/
SCM_CUNGET (c, port); SCM_CUNGET (c, port);

View file

@ -265,33 +265,17 @@ typedef int GSCM_status;
#ifdef __STDC__ extern GSCM_status gscm_seval_str SCM_P ((SCM *answer, GSCM_top_level toplvl, char * str));
extern GSCM_status gscm_seval_str (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_seval_file (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_str (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_eval_file (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 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 SCM_P ((int n));
extern char * gscm_error_msg (int n); extern SCM gscm_make_subr SCM_P ((SCM (*fn)(), int req, int opt, int varp, char * doc));
extern SCM gscm_make_subr (SCM (*fn)(), int req, int opt, int varp, char * doc); extern int gscm_2_char SCM_P ((SCM c));
extern int gscm_2_char (SCM c); extern void gscm_2_str SCM_P ((char ** out, int * len_out, SCM * objp));
extern void gscm_2_str (char ** out, int * len_out, SCM * objp); extern void gscm_error SCM_P ((char * message, SCM args));
extern void gscm_error (char * message, SCM args); extern void scm_init_guile SCM_P ((void));
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 */
#endif /* GSCMH */ #endif /* GSCMH */

View file

@ -138,16 +138,16 @@ extern int scm_port_table_size; /* Number of ports in scm_port_table. */
typedef struct scm_ptobfuns typedef struct scm_ptobfuns
{ {
SCM (*mark) (); SCM (*mark) SCM_P ((SCM));
int (*free) (); int (*free) SCM_P ((SCM));
int (*print) (); int (*print) SCM_P ((SCM exp, SCM port, scm_print_state *pstate));
SCM (*equalp) (); SCM (*equalp) SCM_P ((SCM, SCM));
int (*fputc) (); int (*fputc) SCM_P ((int, SCM stream));
int (*fputs) (); int (*fputs) SCM_P ((char *, SCM stream));
scm_sizet (*fwrite) (); scm_sizet (*fwrite) SCM_P ((char *ptr, scm_sizet size, scm_sizet nitems, SCM stream));
int (*fflush) (); int (*fflush) SCM_P ((SCM stream));
int (*fgetc) (); int (*fgetc) SCM_P ((SCM stream));
int (*fclose) (); int (*fclose) SCM_P ((SCM stream));
} scm_ptobfuns; } scm_ptobfuns;
#define SCM_PTOBNUM(x) (0x0ff & (SCM_CAR(x)>>8)); #define SCM_PTOBNUM(x) (0x0ff & (SCM_CAR(x)>>8));
@ -159,93 +159,42 @@ extern scm_sizet scm_numptob;
extern int scm_port_table_room; extern int scm_port_table_room;
#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 */ #endif /* PORTSH */