X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=include%2Funistd.h;h=967e058a33edd072b9853851a26a1efdb4ded126;hb=HEAD;hp=6b614dd05a76d874dab48518a3edb342b1218d86;hpb=d3ddb92ea03c89fe7d56a0bcbfbe64743bc51210;p=uclinux-h8%2FuClibc.git diff --git a/include/unistd.h b/include/unistd.h index 6b614dd05..967e058a3 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2002,2003,2004,2005,2006 Free Software Foundation, Inc. +/* Copyright (C) 1991-2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -12,9 +12,8 @@ Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ + License along with the GNU C Library; if not, see + . */ /* * POSIX Standard: 2.10 Symbolic Constants @@ -30,35 +29,67 @@ __BEGIN_DECLS /* These may be used to determine what facilities are present at compile time. Their values can be obtained at run time from `sysconf'. */ +#ifdef __USE_XOPEN2K8 +/* POSIX Standard approved as ISO/IEC 9945-1 as of September 2008. */ +# define _POSIX_VERSION 200809L +#elif defined __USE_XOPEN2K /* POSIX Standard approved as ISO/IEC 9945-1 as of December 2001. */ -#define _POSIX_VERSION 200112L +# define _POSIX_VERSION 200112L +#elif defined __USE_POSIX199506 +/* POSIX Standard approved as ISO/IEC 9945-1 as of June 1995. */ +# define _POSIX_VERSION 199506L +#elif defined __USE_POSIX199309 +/* POSIX Standard approved as ISO/IEC 9945-1 as of September 1993. */ +# define _POSIX_VERSION 199309L +#else +/* POSIX Standard approved as ISO/IEC 9945-1 as of September 1990. */ +# define _POSIX_VERSION 199009L +#endif /* These are not #ifdef __USE_POSIX2 because they are in the theoretically application-owned namespace. */ +#ifdef __USE_XOPEN2K8 +# define __POSIX2_THIS_VERSION 200809L +/* The utilities on GNU systems also correspond to this version. */ +#elif defined __USE_XOPEN2K +/* The utilities on GNU systems also correspond to this version. */ +# define __POSIX2_THIS_VERSION 200112L +#elif defined __USE_POSIX199506 +/* The utilities on GNU systems also correspond to this version. */ +# define __POSIX2_THIS_VERSION 199506L +#else +/* The utilities on GNU systems also correspond to this version. */ +# define __POSIX2_THIS_VERSION 199209L +#endif + /* The utilities on GNU systems also correspond to this version. */ -#define _POSIX2_VERSION 200112L +#define _POSIX2_VERSION __POSIX2_THIS_VERSION /* If defined, the implementation supports the C Language Bindings Option. */ -#define _POSIX2_C_BIND 200112L +#define _POSIX2_C_BIND __POSIX2_THIS_VERSION /* If defined, the implementation supports the C Language Development Utilities Option. */ -#define _POSIX2_C_DEV 200112L +#define _POSIX2_C_DEV __POSIX2_THIS_VERSION /* If defined, the implementation supports the Software Development Utilities Option. */ -#define _POSIX2_SW_DEV 200112L +#define _POSIX2_SW_DEV __POSIX2_THIS_VERSION #if 0 /* uClibc does not provide the utility */ /* If defined, the implementation supports the creation of locales with the localedef utility. */ -#define _POSIX2_LOCALEDEF 200112L +#define _POSIX2_LOCALEDEF __POSIX2_THIS_VERSION #endif /* X/Open version number to which the library conforms. It is selectable. */ -#ifdef __USE_UNIX98 +#ifdef __USE_XOPEN2K8 +# define _XOPEN_VERSION 700 +#elif defined __USE_XOPEN2K +# define _XOPEN_VERSION 600 +#elif defined __USE_UNIX98 # define _XOPEN_VERSION 500 #else # define _XOPEN_VERSION 4 @@ -171,6 +202,8 @@ __BEGIN_DECLS */ #include +/* keep it after posix_opt.h, it overwrites based on uClibc's config options */ +#include /* Get the environment definitions from Unix98. */ #ifdef __USE_UNIX98 @@ -255,16 +288,16 @@ typedef __socklen_t socklen_t; #define F_OK 0 /* Test for existence. */ /* Test for access to NAME using the real UID and real GID. */ -extern int access (__const char *__name, int __type) __THROW __nonnull ((1)); +extern int access (const char *__name, int __type) __THROW __nonnull ((1)); #if 0 /*def __USE_GNU*/ /* Test for access to NAME using the effective UID and GID (as normal file operations use). */ -extern int euidaccess (__const char *__name, int __type) +extern int euidaccess (const char *__name, int __type) __THROW __nonnull ((1)); /* An alias for `euidaccess', used by some other systems. */ -extern int eaccess (__const char *__name, int __type) +extern int eaccess (const char *__name, int __type) __THROW __nonnull ((1)); #endif @@ -272,8 +305,9 @@ extern int eaccess (__const char *__name, int __type) /* Test for access to FILE relative to the directory FD is open on. If AT_EACCESS is set in FLAG, then use effective IDs like `eaccess', otherwise use real IDs like `access'. */ -extern int faccessat (int __fd, __const char *__file, int __type, int __flag) +extern int faccessat (int __fd, const char *__file, int __type, int __flag) __THROW __nonnull ((2)) __wur; +libc_hidden_proto(faccessat) #endif /* Use GNU. */ @@ -299,7 +333,10 @@ extern int faccessat (int __fd, __const char *__file, int __type, int __flag) Return the new file position. */ #ifndef __USE_FILE_OFFSET64 extern __off_t lseek (int __fd, __off_t __offset, int __whence) __THROW; +# ifdef _LIBC +extern __typeof(lseek) __lseek_nocancel attribute_hidden; libc_hidden_proto(lseek) +# endif #else # ifdef __REDIRECT_NTH extern __off64_t __REDIRECT_NTH (lseek, @@ -312,7 +349,10 @@ extern __off64_t __REDIRECT_NTH (lseek, #ifdef __USE_LARGEFILE64 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) __THROW; +# ifdef _LIBC +extern __typeof(lseek64) __lseek64_nocancel attribute_hidden; libc_hidden_proto(lseek64) +# endif #endif /* Close the file descriptor FD. @@ -320,7 +360,11 @@ libc_hidden_proto(lseek64) This function is a cancellation point and therefore not marked with __THROW. */ extern int close (int __fd); +#ifdef _LIBC +extern __typeof(close) __close_nocancel attribute_hidden; +extern void __close_nocancel_no_status(int) attribute_hidden; libc_hidden_proto(close) +#endif /* Read NBYTES into BUF from FD. Return the number read, -1 for errors or 0 for EOF. @@ -328,14 +372,20 @@ libc_hidden_proto(close) This function is a cancellation point and therefore not marked with __THROW. */ extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __wur; +#ifdef _LIBC +extern __typeof(read) __read_nocancel attribute_hidden; libc_hidden_proto(read) +#endif /* Write N bytes of BUF to FD. Return the number written, or -1. This function is a cancellation point and therefore not marked with __THROW. */ -extern ssize_t write (int __fd, __const void *__buf, size_t __n) __wur; +extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur; +#ifdef _LIBC +extern __typeof(write) __write_nocancel attribute_hidden; libc_hidden_proto(write) +#endif #ifdef __USE_UNIX98 # ifndef __USE_FILE_OFFSET64 @@ -353,14 +403,14 @@ extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, This function is a cancellation point and therefore not marked with __THROW. */ -extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, +extern ssize_t pwrite (int __fd, const void *__buf, size_t __n, __off_t __offset) __wur; # else # ifdef __REDIRECT extern ssize_t __REDIRECT (pread, (int __fd, void *__buf, size_t __nbytes, __off64_t __offset), pread64) __wur; -extern ssize_t __REDIRECT (pwrite, (int __fd, __const void *__buf, +extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf, size_t __nbytes, __off64_t __offset), pwrite64) __wur; # else @@ -377,7 +427,7 @@ extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __wur; /* Write N bytes of BUF to FD at the given position OFFSET without changing the file pointer. Return the number written, or -1. */ -extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, +extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n, __off64_t __offset) __wur; # endif #endif @@ -389,7 +439,7 @@ extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, extern int pipe (int __pipedes[2]) __THROW __wur; libc_hidden_proto(pipe) -#ifdef __USE_GNU +#if defined __UCLIBC_LINUX_SPECIFIC__ && defined __USE_GNU /* Same as pipe but apply flags passed in FLAGS to the new file descriptors. */ extern int pipe2 (int __pipedes[2], int __flags) __THROW __wur; @@ -446,7 +496,7 @@ extern int pause (void); /* Change the owner and group of FILE. */ -extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) +extern int chown (const char *__file, __uid_t __owner, __gid_t __group) __THROW __nonnull ((1)) __wur; libc_hidden_proto(chown) @@ -457,7 +507,7 @@ extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __THROW __wur; /* Change owner and group of FILE, if it is a symbolic link the ownership of the symbolic link is changed. */ -extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) +extern int lchown (const char *__file, __uid_t __owner, __gid_t __group) __THROW __nonnull ((1)) __wur; #endif /* Use BSD || X/Open Unix. */ @@ -465,13 +515,14 @@ extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) #ifdef __USE_ATFILE /* Change the owner and group of FILE relative to the directory FD is open on. */ -extern int fchownat (int __fd, __const char *__file, __uid_t __owner, +extern int fchownat (int __fd, const char *__file, __uid_t __owner, __gid_t __group, int __flag) __THROW __nonnull ((2)) __wur; +libc_hidden_proto(fchownat) #endif /* Use GNU. */ /* Change the process's working directory to PATH. */ -extern int chdir (__const char *__path) __THROW __nonnull ((1)) __wur; +extern int chdir (const char *__path) __THROW __nonnull ((1)) __wur; libc_hidden_proto(chdir) #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED @@ -513,6 +564,13 @@ extern int dup (int __fd) __THROW __wur; extern int dup2 (int __fd, int __fd2) __THROW; libc_hidden_proto(dup2) +#ifdef __USE_GNU +/* Duplicate FD to FD2, closing FD2 and making it open on the same + file while setting flags according to FLAGS. */ +extern int dup3 (int __fd, int __fd2, int __flags) __THROW; +libc_hidden_proto(dup3) +#endif + /* NULL-terminated array of "NAME=VALUE" environment variables. */ extern char **__environ; #ifdef __USE_GNU @@ -522,48 +580,56 @@ extern char **environ; /* Replace the current process, executing PATH with arguments ARGV and environment ENVP. ARGV and ENVP are terminated by NULL pointers. */ -extern int execve (__const char *__path, char *__const __argv[], - char *__const __envp[]) __THROW __nonnull ((1)); +extern int execve (const char *__path, char *const __argv[], + char *const __envp[]) __THROW __nonnull ((1)); libc_hidden_proto(execve) -#if 0 /*def __USE_GNU*/ +#if 0 /*def __USE_XOPEN2K8*/ /* Execute the file FD refers to, overlaying the running program image. ARGV and ENVP are passed to the new program, as for `execve'. */ -extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[]) +extern int fexecve (int __fd, char *const __argv[], char *const __envp[]) __THROW; #endif /* Execute PATH with arguments ARGV and environment from `environ'. */ -extern int execv (__const char *__path, char *__const __argv[]) +extern int execv (const char *__path, char *const __argv[]) __THROW __nonnull ((1)); libc_hidden_proto(execv) /* Execute PATH with all arguments after PATH until a NULL pointer, and the argument after that for environment. */ -extern int execle (__const char *__path, __const char *__arg, ...) +extern int execle (const char *__path, const char *__arg, ...) __THROW __nonnull ((1)); libc_hidden_proto(execle) /* Execute PATH with all arguments after PATH until a NULL pointer and environment from `environ'. */ -extern int execl (__const char *__path, __const char *__arg, ...) +extern int execl (const char *__path, const char *__arg, ...) __THROW __nonnull ((1)); libc_hidden_proto(execl) /* Execute FILE, searching in the `PATH' environment variable if it contains no slashes, with arguments ARGV and environment from `environ'. */ -extern int execvp (__const char *__file, char *__const __argv[]) +extern int execvp (const char *__file, char *const __argv[]) __THROW __nonnull ((1)); libc_hidden_proto(execvp) /* Execute FILE, searching in the `PATH' environment variable if it contains no slashes, with all arguments after FILE until a NULL pointer and environment from `environ'. */ -extern int execlp (__const char *__file, __const char *__arg, ...) +extern int execlp (const char *__file, const char *__arg, ...) __THROW __nonnull ((1)); libc_hidden_proto(execlp) +#ifdef __USE_GNU +/* Execute FILE, searching in the `PATH' environment variable if it contains + no slashes, with arguments ARGV and environment from a pointer */ +extern int execvpe (__const char *__file, char *__const __argv[], char *__const __envp[]) + __THROW __nonnull ((1)); +libc_hidden_proto(execvpe) +#endif + #if defined __USE_MISC || defined __USE_XOPEN /* Add INC to priority of the current process. */ @@ -582,7 +648,7 @@ libc_hidden_proto(_exit) #include /* Get file-specific configuration information about PATH. */ -extern long int pathconf (__const char *__path, int __name) +extern long int pathconf (const char *__path, int __name) __THROW __nonnull ((1)); /* Get file-specific configuration about descriptor FD. */ @@ -767,7 +833,12 @@ libc_hidden_proto(setresgid) Return -1 for errors, 0 to the new process, and the process ID of the new process to the old process. */ extern __pid_t fork (void) __THROW; +# ifdef _LIBC +# ifdef __UCLIBC_HAS_THREADS__ +extern __typeof(fork) __libc_fork; +# endif libc_hidden_proto(fork) +# endif #endif #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED @@ -779,8 +850,10 @@ extern __pid_t vfork (void) __THROW; libc_hidden_proto(vfork) #endif /* Use BSD. */ +#if 0 /* psm: seems unused , exit-thread.S is not compiled */ /* Special exit function which only terminates the current thread. */ extern void __exit_thread (int val) __attribute__ ((__noreturn__)); +#endif /* Return the pathname of the terminal FD is open on, or NULL on errors. The returned storage is good only until the next call to this function. */ @@ -797,7 +870,6 @@ libc_hidden_proto(ttyname_r) extern int isatty (int __fd) __THROW; libc_hidden_proto(isatty) - #if 0 /*defined __USE_BSD \ || (defined __USE_XOPEN_EXTENDED && !defined __USE_UNIX98)*/ /* Return the index into the active-logins file (utmp) for @@ -807,26 +879,27 @@ extern int ttyslot (void) __THROW; /* Make a link to FROM named TO. */ -extern int link (__const char *__from, __const char *__to) +extern int link (const char *__from, const char *__to) __THROW __nonnull ((1, 2)) __wur; #ifdef __USE_ATFILE /* Like link but relative paths in TO and FROM are interpreted relative to FROMFD and TOFD respectively. */ -extern int linkat (int __fromfd, __const char *__from, int __tofd, - __const char *__to, int __flags) +extern int linkat (int __fromfd, const char *__from, int __tofd, + const char *__to, int __flags) __THROW __nonnull ((2, 4)) __wur; +libc_hidden_proto(linkat) #endif #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K /* Make a symbolic link to FROM named TO. */ -extern int symlink (__const char *__from, __const char *__to) +extern int symlink (const char *__from, const char *__to) __THROW __nonnull ((1, 2)) __wur; /* Read the contents of the symbolic link PATH into no more than LEN bytes of BUF. The contents are not null-terminated. Returns the number of characters read, or -1 for errors. */ -extern ssize_t readlink (__const char *__restrict __path, +extern ssize_t readlink (const char *__restrict __path, char *__restrict __buf, size_t __len) __THROW __nonnull ((1, 2)) __wur; libc_hidden_proto(readlink) @@ -834,27 +907,30 @@ libc_hidden_proto(readlink) #ifdef __USE_ATFILE /* Like symlink but a relative path in TO is interpreted relative to TOFD. */ -extern int symlinkat (__const char *__from, int __tofd, - __const char *__to) __THROW __nonnull ((1, 3)) __wur; +extern int symlinkat (const char *__from, int __tofd, + const char *__to) __THROW __nonnull ((1, 3)) __wur; +libc_hidden_proto(symlinkat) /* Like readlink but a relative PATH is interpreted relative to FD. */ -extern ssize_t readlinkat (int __fd, __const char *__restrict __path, +extern ssize_t readlinkat (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) __THROW __nonnull ((2, 3)) __wur; +libc_hidden_proto(readlinkat) #endif /* Remove the link NAME. */ -extern int unlink (__const char *__name) __THROW __nonnull ((1)); +extern int unlink (const char *__name) __THROW __nonnull ((1)); libc_hidden_proto(unlink) #ifdef __USE_ATFILE /* Remove the link NAME relative to FD. */ -extern int unlinkat (int __fd, __const char *__name, int __flag) +extern int unlinkat (int __fd, const char *__name, int __flag) __THROW __nonnull ((2)); +libc_hidden_proto(unlinkat) #endif /* Remove the directory PATH. */ -extern int rmdir (__const char *__path) __THROW __nonnull ((1)); +extern int rmdir (const char *__path) __THROW __nonnull ((1)); libc_hidden_proto(rmdir) @@ -884,7 +960,7 @@ extern int getlogin_r (char *__name, size_t __name_len) __nonnull ((1)); #if 0 /*def __USE_BSD*/ /* Set the login name returned by `getlogin'. */ -extern int setlogin (__const char *__name) __THROW __nonnull ((1)); +extern int setlogin (const char *__name) __THROW __nonnull ((1)); #endif @@ -910,13 +986,14 @@ libc_hidden_proto(gethostname) #if defined __USE_BSD || (defined __USE_XOPEN && !defined __USE_UNIX98) /* Set the name of the current host to NAME, which is LEN bytes long. This call is restricted to the super-user. */ -extern int sethostname (__const char *__name, size_t __len) +extern int sethostname (const char *__name, size_t __len) __THROW __nonnull ((1)) __wur; /* Set the current machine's Internet number to ID. This call is restricted to the super-user. */ extern int sethostid (long int __id) __THROW __wur; + #if defined __UCLIBC_BSD_SPECIFIC__ || defined _LIBC /* Get and set the NIS (aka YP) domain name, if any. Called just like `gethostname' and `sethostname'. @@ -926,10 +1003,11 @@ extern int getdomainname (char *__name, size_t __len) libc_hidden_proto(getdomainname) #endif #if defined __UCLIBC_BSD_SPECIFIC__ -extern int setdomainname (__const char *__name, size_t __len) +extern int setdomainname (const char *__name, size_t __len) __THROW __nonnull ((1)) __wur; #endif + #if defined __UCLIBC_LINUX_SPECIFIC__ /* Revoke access permissions to all processes currently communicating with the control terminal, and then send a SIGHUP signal to the process @@ -939,7 +1017,7 @@ extern int vhangup (void) __THROW; #if 0 /* Revoke the access of all descriptors currently open on FILE. */ -extern int revoke (__const char *__file) __THROW __nonnull ((1)) __wur; +extern int revoke (const char *__file) __THROW __nonnull ((1)) __wur; /* Enable statistical profiling, writing samples of the PC into at most @@ -956,13 +1034,15 @@ extern int profil (unsigned short int *__sample_buffer, size_t __size, /* Turn accounting on if NAME is an existing file. The system will then write a record for each process as it terminates, to this file. If NAME is NULL, turn accounting off. This call is restricted to the super-user. */ -extern int acct (__const char *__name) __THROW; +extern int acct (const char *__name) __THROW; /* Successive calls return the shells listed in `/etc/shells'. */ extern char *getusershell (void) __THROW; extern void endusershell (void) __THROW; /* Discard cached info. */ +libc_hidden_proto(endusershell) extern void setusershell (void) __THROW; /* Rewind and re-read the file. */ +libc_hidden_proto(setusershell) /* Put the program in the background, and dissociate from the controlling @@ -975,21 +1055,21 @@ extern int daemon (int __nochdir, int __noclose) __THROW __wur; #if defined __USE_BSD || (defined __USE_XOPEN && !defined __USE_XOPEN2K) /* Make PATH be the root directory (the starting point for absolute paths). This call is restricted to the super-user. */ -extern int chroot (__const char *__path) __THROW __nonnull ((1)) __wur; +extern int chroot (const char *__path) __THROW __nonnull ((1)) __wur; /* Prompt with PROMPT and read a string from the terminal without echoing. Uses /dev/tty if possible; otherwise stderr and stdin. */ -extern char *getpass (__const char *__prompt) __nonnull ((1)); +extern char *getpass (const char *__prompt) __nonnull ((1)); #endif /* Use BSD || X/Open. */ -#if defined __USE_BSD || defined __USE_XOPEN +#if defined __USE_BSD || defined __USE_XOPEN || defined __USE_XOPEN2K /* Make all changes done to FD actually appear on disk. This function is a cancellation point and therefore not marked with __THROW. */ extern int fsync (int __fd); -#endif /* Use BSD || X/Open. */ +#endif /* Use BSD || X/Open || Unix98. */ #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED @@ -1015,21 +1095,22 @@ libc_hidden_proto(getdtablesize) /* Truncate FILE to LENGTH bytes. */ # ifndef __USE_FILE_OFFSET64 -extern int truncate (__const char *__file, __off_t __length) +extern int truncate (const char *__file, __off_t __length) __THROW __nonnull ((1)) __wur; libc_hidden_proto(truncate) # else # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (truncate, - (__const char *__file, __off64_t __length), + (const char *__file, __off64_t __length), truncate64) __nonnull ((1)) __wur; # else # define truncate truncate64 # endif # endif # ifdef __USE_LARGEFILE64 -extern int truncate64 (__const char *__file, __off64_t __length) +extern int truncate64 (const char *__file, __off64_t __length) __THROW __nonnull ((1)) __wur; +libc_hidden_proto(truncate64) # endif #endif /* Use BSD || X/Open Unix. */ @@ -1087,6 +1168,20 @@ extern long int syscall (long int __sysno, ...) __THROW; #endif /* Use misc. */ +/* Are we in a secure process environment or are we dealing with setuid + * stuff? This value is returned by issetugid(). + */ +extern int _pe_secure; +libc_hidden_proto(_pe_secure) + +#ifdef __USE_BSD +/* issetugid() returns 1 if the process environment or memory address space + is considered tainted, and returns 0 otherwise. This happens, for example, + when a process's privileges are elevated by the setuid or setgid flags on + an executable belonging to root. +*/ +extern int issetugid(void); +#endif #if (defined __USE_MISC || defined __USE_XOPEN_EXTENDED) && !defined F_LOCK /* NOTE: These declarations also appear in ; be sure to keep both @@ -1118,7 +1213,6 @@ extern int __REDIRECT (lockf, (int __fd, int __cmd, __off64_t __len), # endif # ifdef __USE_LARGEFILE64 extern int lockf64 (int __fd, int __cmd, __off64_t __len) __wur; -libc_hidden_proto(lockf64) # endif #endif /* Use misc and F_LOCK not already defined. */ @@ -1140,7 +1234,7 @@ libc_hidden_proto(lockf64) && defined __UCLIBC_HAS_REALTIME__ /* Synchronize at least the data part of a file with the underlying media. */ -extern int fdatasync (int __fildes) __THROW; +extern int fdatasync (int __fildes); #endif /* Use POSIX199309 */ @@ -1149,7 +1243,7 @@ extern int fdatasync (int __fildes) __THROW; #ifdef __USE_XOPEN # if defined __UCLIBC_HAS_CRYPT__ /* Encrypt at most 8 characters from KEY using salt to perturb DES. */ -extern char *crypt (__const char *__key, __const char *__salt) +extern char *crypt (const char *__key, const char *__salt) __THROW __nonnull ((1, 2)); /* Encrypt data in BLOCK in place if EDFLAG is zero; otherwise decrypt @@ -1162,7 +1256,7 @@ extern void encrypt (char *__block, int __edflag) __THROW __nonnull ((1)); FROM and copy the result to TO. The value of TO must not be in the range [FROM - N + 1, FROM - 1]. If N is odd the first byte in FROM is without partner. */ -extern void swab (__const void *__restrict __from, void *__restrict __to, +extern void swab (const void *__restrict __from, void *__restrict __to, ssize_t __n) __THROW __nonnull ((1, 2)); #endif @@ -1176,7 +1270,7 @@ extern char *ctermid (char *__s) __THROW; /* Define some macros helping to catch buffer overflows. */ -#if __USE_FORTIFY_LEVEL > 0 && !defined __cplusplus +#if __USE_FORTIFY_LEVEL > 0 && defined __extern_always_inline # include #endif @@ -1189,6 +1283,7 @@ __END_DECLS #endif typedef signed smallint_type smallint; typedef unsigned smallint_type smalluint; +extern size_t __pagesize attribute_hidden; #endif