-char *ctermid __P((char *));
-FILE *fdopen __P((int, const char *));
-int fileno __P((FILE *));
-__END_DECLS
-#endif /* not ANSI */
-
-/*
- * Routines that are purely local.
- */
-#if !defined (_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
-__BEGIN_DECLS
-char *fgetln __P((FILE *, size_t *));
-int fpurge __P((FILE *));
-int fseeko __P((FILE *, fpos_t, int));
-fpos_t ftello __P((FILE *));
-int getw __P((FILE *));
-int pclose __P((FILE *));
-FILE *popen __P((const char *, const char *));
-int putw __P((int, FILE *));
-void setbuffer __P((FILE *, char *, int));
-int setlinebuf __P((FILE *));
-char *tempnam __P((const char *, const char *));
-int snprintf __P((char *, size_t, const char *, ...));
-int vsnprintf __P((char *, size_t, const char *, _BSD_VA_LIST_));
-int vscanf __P((const char *, _BSD_VA_LIST_));
-int vsscanf __P((const char *, const char *, _BSD_VA_LIST_));
-FILE *zopen __P((const char *, const char *, int));
+char *ctermid(char *);
+#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
+char *ctermid_r(char *);
+#endif /* not POSIX */
+FILE *fdopen(int, const char *);
+#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
+char *fgetln(FILE *, size_t *);
+#endif /* not POSIX */
+int fileno(FILE *);
+void flockfile(FILE *);
+#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
+__const char
+ *fmtcheck(const char *, const char *);
+int fpurge(FILE *);
+#endif /* not POSIX */
+int fseeko(FILE *, off_t, int);
+off_t ftello(FILE *);
+int ftrylockfile(FILE *);
+void funlockfile(FILE *);
+int getc_unlocked(FILE *);
+int getchar_unlocked(void);
+#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
+int getw(FILE *);
+#endif /* not POSIX */
+int pclose(FILE *);
+FILE *popen(const char *, const char *);
+int putc_unlocked(int, FILE *);
+int putchar_unlocked(int);
+#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
+int putw(int, FILE *);
+void setbuffer(FILE *, char *, int);
+int setlinebuf(FILE *);
+#endif /* not POSIX */
+int snprintf(char * __restrict, size_t, const char * __restrict, ...) __DARWIN_LDBL_COMPAT(snprintf);
+//Begin-Libc
+#ifndef LIBC_ALIAS_TEMPNAM
+//End-Libc
+char *tempnam(const char *, const char *) __DARWIN_ALIAS(tempnam);
+//Begin-Libc
+#else /* LIBC_ALIAS_TEMPNAM */
+char *tempnam(const char *, const char *) LIBC_ALIAS(tempnam);
+#endif /* !LIBC_ALIAS_TEMPNAM */
+//End-Libc
+int vfscanf(FILE * __restrict, const char * __restrict, va_list) __DARWIN_LDBL_COMPAT(vfscanf);
+int vscanf(const char * __restrict, va_list) __DARWIN_LDBL_COMPAT(vscanf);
+int vsnprintf(char * __restrict, size_t, const char * __restrict, va_list) __DARWIN_LDBL_COMPAT(vsnprintf);
+int vsscanf(const char * __restrict, const char * __restrict, va_list) __DARWIN_LDBL_COMPAT(vsscanf);
+#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
+FILE *zopen(const char *, const char *, int);
+#endif /* not POSIX */