-#if __STDC__ || c_plusplus
-int remove(const char *);
-int rename(const char *_old, const char *_new);
-FILE *tmpfile(void);
-char *tmpnam(char *);
-int fclose(FILE *);
-int fflush(FILE *);
-FILE *fopen(const char *_name, const char *_type);
-FILE *freopen(const char *_name, const char *_type, FILE *_stream);
-void setbuf(FILE *, char *);
-int setvbuf(FILE *, char *, int, size_t);
-int fprintf(FILE *, const char *, ...);
-int fscanf(FILE *, const char *, ...);
-int printf(const char *, ...);
-int scanf(const char *, ...);
-int sprintf(char *, const char *, ...);
-int sscanf(char *, const char *, ...);
-int vfprintf(FILE *, const char *, _VA_LIST_);
-int vprintf(const char *, _VA_LIST_);
-int vsprintf(char *, const char *, _VA_LIST_);
-int fgetc(FILE *);
-char *fgets(char *, size_t, FILE *);
-int fputc(int, FILE *);
-int fputs(const char *, FILE *);
-int getc(FILE *);
-int getchar(void);
-char *gets(char *);
-int putc(int, FILE *);
-int putchar(int);
-int puts(const char *);
-int ungetc(int, FILE *);
-int fread(void *, size_t _size, size_t _n, FILE *);
-int fwrite(const void *, size_t _size, size_t _n, FILE *);
-int fgetpos(FILE *, fpos_t *);
-int fseek(FILE *, long, int);
-int fsetpos(FILE *, const fpos_t *);
-long ftell(const FILE *);
-void rewind(FILE *);
-void clearerr(FILE *);
-int feof(FILE *);
-int ferror(FILE *);
-void perror(const char *);
-#else
-int remove();
-int rename();
-FILE *tmpfile();
-char *tmpnam();
-int fclose();
-int fflush();
-FILE *fopen();
-FILE *freopen();
-void setbuf();
-int setvbuf();
-int fprintf();
-int fscanf();
-int printf();
-int scanf();
-int sprintf();
-int sscanf();
-int vfprintf();
-int vprintf();
-int vsprintf();
-int fgetc();
-char *fgets();
-int fputc();
-int fputs();
-int getc();
-int getchar();
-char *gets();
-int putc();
-int putchar();
-int puts();
-int ungetc();
-int fread();
-int fwrite();
-int fgetpos();
-int fseek();
-int fsetpos();
-long ftell();
-void rewind();
-void clearerr();
-int feof();
-int ferror();
-void perror();
+__BEGIN_DECLS
+void clearerr __P((FILE *));
+int fclose __P((FILE *));
+int feof __P((FILE *));
+int ferror __P((FILE *));
+int fflush __P((FILE *));
+int fgetc __P((FILE *));
+int fgetpos __P((FILE *, fpos_t *));
+char *fgets __P((char *, size_t, FILE *));
+FILE *fopen __P((const char *, const char *));
+int fprintf __P((FILE *, const char *, ...));
+int fputc __P((int, FILE *));
+int fputs __P((const char *, FILE *));
+int fread __P((void *, size_t, size_t, FILE *));
+FILE *freopen __P((const char *, const char *, FILE *));
+int fscanf __P((FILE *, const char *, ...));
+int fseek __P((FILE *, long, int));
+int fsetpos __P((FILE *, const fpos_t *));
+long ftell __P((const FILE *));
+int fwrite __P((const void *, size_t, size_t, FILE *));
+int getc __P((FILE *));
+int getchar __P((void));
+char *gets __P((char *));
+#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
+extern int sys_nerr; /* perror(3) external variables */
+extern char *sys_errlist[];