svn commit: trunk/uClibc/include

psm at uclibc.org psm at uclibc.org
Thu Nov 3 23:33:54 UTC 2005


Author: psm
Date: 2005-11-03 15:33:53 -0800 (Thu, 03 Nov 2005)
New Revision: 12140

Log:
Sync w/ glibc

Modified:
   trunk/uClibc/include/unistd.h


Changeset:
Modified: trunk/uClibc/include/unistd.h
===================================================================
--- trunk/uClibc/include/unistd.h	2005-11-03 23:32:14 UTC (rev 12139)
+++ trunk/uClibc/include/unistd.h	2005-11-03 23:33:53 UTC (rev 12140)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2002, 2003, 2004 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
@@ -30,34 +30,30 @@
 /* These may be used to determine what facilities are present at compile time.
    Their values can be obtained at run time from `sysconf'.  */
 
-/* POSIX Standard approved as ISO/IEC 9945-1 as of August, 1988 and
-   extended by POSIX-1b (aka POSIX-4) and POSIX-1c (aka POSIX threads).  */
-#define	_POSIX_VERSION	199506L
+/* POSIX Standard approved as ISO/IEC 9945-1 as of December 2001.  */
+#define	_POSIX_VERSION	200112L
 
 /* These are not #ifdef __USE_POSIX2 because they are
    in the theoretically application-owned namespace.  */
 
-/* POSIX Standard approved as ISO/IEC 9945-2 as of December, 1993.  */
-#define	_POSIX2_C_VERSION	199209L
-
 /* The utilities on GNU systems also correspond to this version.  */
-#define _POSIX2_VERSION	199209L
+#define _POSIX2_VERSION	200112L
 
 /* If defined, the implementation supports the
    C Language Bindings Option.  */
-#define	_POSIX2_C_BIND	1
+#define	_POSIX2_C_BIND	200112L
 
 /* If defined, the implementation supports the
    C Language Development Utilities Option.  */
-#define	_POSIX2_C_DEV	1
+#define	_POSIX2_C_DEV	200112L
 
 /* If defined, the implementation supports the
    Software Development Utilities Option.  */
-#define	_POSIX2_SW_DEV	1
+#define	_POSIX2_SW_DEV	200112L
 
 /* If defined, the implementation supports the
    creation of locales with the localedef utility.  */
-#define _POSIX2_LOCALEDEF       1
+#define _POSIX2_LOCALEDEF       200112L
 
 /* X/Open version number to which the library conforms.  It is selectable.  */
 #ifdef __USE_UNIX98
@@ -198,7 +194,7 @@
 #define __need_NULL
 #include <stddef.h>
 
-#ifdef __USE_XOPEN
+#if defined __USE_XOPEN || defined __USE_XOPEN2K
 /* The Single Unix specification says that some more types are
    available here.  */
 # ifndef __gid_t_defined
@@ -257,9 +253,16 @@
 #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;
+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)
+     __THROW __nonnull ((1));
+#endif
 
+
 /* Values for the WHENCE argument to lseek.  */
 #ifndef	_STDIO_H		/* <stdio.h> has the same definitions.  */
 # define SEEK_SET	0	/* Seek from beginning of file.  */
@@ -285,9 +288,8 @@
 #else
 # ifdef __REDIRECT
 extern __off64_t __REDIRECT (lseek,
-			     (int __fd, __off64_t __offset, int __whence)
-			     __THROW,
-			     lseek64);
+				 (int __fd, __off64_t __offset, int __whence),
+				 lseek64);
 # else
 #  define lseek lseek64
 # endif
@@ -296,31 +298,51 @@
 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) __THROW;
 #endif
 
-/* Close the file descriptor FD.  */
-extern int close (int __fd) __THROW;
+/* Close the file descriptor FD.
 
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern int close (int __fd);
+
 /* Read NBYTES into BUF from FD.  Return the
-   number read, -1 for errors or 0 for EOF.  */
-extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __THROW;
+   number read, -1 for errors or 0 for EOF.
 
-/* Write N bytes of BUF to FD.  Return the number written, or -1.  */
-extern ssize_t write (int __fd, __const void *__buf, size_t __n) __THROW;
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern ssize_t read (int __fd, void *__buf, size_t __nbytes);
 
+/* 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);
+
 #ifdef __USE_UNIX98
 # ifndef __USE_FILE_OFFSET64
-extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset)
-     __THROW;
+/* Read NBYTES into BUF from FD at the given position OFFSET without
+   changing the file pointer.  Return the number read, -1 for errors
+   or 0 for EOF.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern ssize_t pread (int __fd, void *__buf, size_t __nbytes,
+		      __off_t __offset);
+
+/* Write N bytes of BUF to FD at the given position OFFSET without
+   changing the file pointer.  Return the number written, or -1.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
 extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n,
-		       __off_t __offset) __THROW;
+		       __off_t __offset);
 # else
 #  ifdef __REDIRECT
 extern ssize_t __REDIRECT (pread, (int __fd, void *__buf, size_t __nbytes,
-				   __off64_t __offset) __THROW,
+				   __off64_t __offset),
 			   pread64);
 extern ssize_t __REDIRECT (pwrite, (int __fd, __const void *__buf,
-				    size_t __nbytes, __off64_t __offset)
-			   __THROW,
-			pwrite64);
+				    size_t __nbytes, __off64_t __offset),
+			   pwrite64);
 #  else
 #   define pread pread64
 #   define pwrite pwrite64
@@ -332,11 +354,11 @@
    changing the file pointer.  Return the number read, -1 for errors
    or 0 for EOF.  */
 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
-			__off64_t __offset) __THROW;
+			__off64_t __offset);
 /* 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,
-			 __off64_t __offset) __THROW;
+			 __off64_t __offset);
 # endif
 #endif
 
@@ -361,9 +383,12 @@
    If a signal handler does a `longjmp' or modifies the handling of the
    SIGALRM signal while inside `sleep' call, the handling of the SIGALRM
    signal afterwards is undefined.  There is no return value to indicate
-   error, but if `sleep' returns SECONDS, it probably didn't work.  */
-extern unsigned int sleep (unsigned int __seconds) __THROW;
+   error, but if `sleep' returns SECONDS, it probably didn't work.
 
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern unsigned int sleep (unsigned int __seconds);
+
 #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
 /* Set an alarm to go off (generating a SIGALRM signal) in VALUE
    microseconds.  If INTERVAL is nonzero, when the alarm goes off, the
@@ -373,19 +398,25 @@
      __THROW;
 
 /* Sleep USECONDS microseconds, or until a signal arrives that is not blocked
-   or ignored.  */
-extern int usleep (__useconds_t __useconds) __THROW;
+   or ignored.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern int usleep (__useconds_t __useconds);
 #endif
 
 
 /* Suspend the process until a signal arrives.
-   This always returns -1 and sets `errno' to EINTR.  */
-extern int pause (void) __THROW;
+   This always returns -1 and sets `errno' to EINTR.
 
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern int pause (void);
 
+
 /* Change the owner and group of FILE.  */
 extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
-     __THROW;
+     __THROW __nonnull ((1));
 
 #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
 /* Change the owner and group of the file that FD is open on.  */
@@ -395,12 +426,12 @@
 /* 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)
-     __THROW;
+     __THROW __nonnull ((1));
 
 #endif /* Use BSD || X/Open Unix.  */
 
 /* Change the process's working directory to PATH.  */
-extern int chdir (__const char *__path) __THROW;
+extern int chdir (__const char *__path) __THROW __nonnull ((1));
 
 #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
 /* Change the process's working directory to the one FD is open on.  */
@@ -416,11 +447,19 @@
    big as necessary.  */
 extern char *getcwd (char *__buf, size_t __size) __THROW;
 
+#ifdef	__USE_GNU
 /* Return a malloc'd string containing the current directory name.
    If the environment variable `PWD' is set, and its value is correct,
    that value is used.  */
 extern char *get_current_dir_name (void) __THROW;
+#endif
 
+#if 0 /* defined __USE_BSD || defined __USE_XOPEN_EXTENDED */
+/* Put the absolute pathname of the current working directory in BUF.
+   If successful, return BUF.  If not, put an error message in
+   BUF and return NULL.  BUF should be at least PATH_MAX bytes long.  */
+extern char *getwd (char *__buf) __THROW __nonnull ((1));
+#endif
 
 
 /* Duplicate FD, returning a new file descriptor on the same file.  */
@@ -439,27 +478,40 @@
 /* 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;
+		   char *__const __envp[]) __THROW __nonnull ((1));
 
+#if 0 /* def __USE_GNU */
+/* 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[])
+     __THROW;
+#endif
+
+
 /* Execute PATH with arguments ARGV and environment from `environ'.  */
-extern int execv (__const char *__path, char *__const __argv[]) __THROW;
+extern int execv (__const char *__path, char *__const __argv[])
+     __THROW __nonnull ((1));
 
 /* 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, ...) __THROW;
+extern int execle (__const char *__path, __const char *__arg, ...)
+     __THROW __nonnull ((1));
 
 /* Execute PATH with all arguments after PATH until
    a NULL pointer and environment from `environ'.  */
-extern int execl (__const char *__path, __const char *__arg, ...) __THROW;
+extern int execl (__const char *__path, __const char *__arg, ...)
+     __THROW __nonnull ((1));
 
 /* 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[]) __THROW;
+extern int execvp (__const char *__file, char *__const __argv[])
+     __THROW __nonnull ((1));
 
 /* 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, ...) __THROW;
+extern int execlp (__const char *__file, __const char *__arg, ...)
+     __THROW __nonnull ((1));
 
 
 #if defined __USE_MISC || defined __USE_XOPEN
@@ -478,7 +530,8 @@
 #include <bits/confname.h>
 
 /* Get file-specific configuration information about PATH.  */
-extern long int pathconf (__const char *__path, int __name) __THROW;
+extern long int pathconf (__const char *__path, int __name)
+     __THROW __nonnull ((1));
 
 /* Get file-specific configuration about descriptor FD.  */
 extern long int fpathconf (int __fd, int __name) __THROW;
@@ -504,7 +557,7 @@
 extern __pid_t getpgrp (void) __THROW;
 #else
 # ifdef __REDIRECT
-extern __pid_t __REDIRECT (getpgrp, (__pid_t __pid) __THROW, __getpgid);
+extern __pid_t __REDIRECT (getpgrp, (__pid_t __pid), __getpgid);
 # else
 #  define getpgrp __getpgid
 # endif
@@ -543,8 +596,7 @@
 
 /* Another name for `setpgid' (above).  */
 #  ifdef __REDIRECT
-extern int __REDIRECT (setpgrp, (__pid_t __pid, __pid_t __pgrp) __THROW,
-		       setpgid);
+extern int __REDIRECT (setpgrp, (__pid_t __pid, __pid_t __pgrp), setpgid);
 #  else
 #   define setpgrp setpgid
 #  endif
@@ -579,6 +631,11 @@
    of its supplementary groups in LIST and return the number written.  */
 extern int getgroups (int __size, __gid_t __list[]) __THROW;
 
+#if 0 /* def	__USE_GNU */
+/* Return nonzero iff the calling process is in group GID.  */
+extern int group_member (__gid_t __gid) __THROW;
+#endif
+
 /* Set the user ID of the calling process to UID.
    If the calling process is the super-user, set the real
    and effective user IDs, and the saved set-user-ID to UID;
@@ -654,33 +711,42 @@
 
 /* Store at most BUFLEN characters of the pathname of the terminal FD is
    open on in BUF.  Return 0 on success, otherwise an error number.  */
-extern int ttyname_r (int __fd, char *__buf, size_t __buflen) __THROW;
+extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
+     __THROW __nonnull ((2));
 
 /* Return 1 if FD is a valid descriptor associated
    with a terminal, zero if not.  */
 extern int isatty (int __fd) __THROW;
 
+#if 0 /* defined __USE_BSD \
+    || (defined __USE_XOPEN_EXTENDED && !defined __USE_UNIX98) */
+/* Return the index into the active-logins file (utmp) for
+   the controlling terminal.  */
+extern int ttyslot (void) __THROW;
+#endif
 
 
 /* Make a link to FROM named TO.  */
-extern int link (__const char *__from, __const char *__to) __THROW;
+extern int link (__const char *__from, __const char *__to)
+     __THROW __nonnull ((1, 2));
 
-#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
+#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) __THROW;
+extern int symlink (__const char *__from, __const char *__to)
+     __THROW __nonnull ((1, 2));
 
 /* 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 int readlink (__const char *__restrict __path, char *__restrict __buf,
-		     size_t __len) __THROW;
+		     size_t __len) __THROW __nonnull ((1, 2));
 #endif /* Use BSD.  */
 
 /* Remove the link NAME.  */
-extern int unlink (__const char *__name) __THROW;
+extern int unlink (__const char *__name) __THROW __nonnull ((1));
 
 /* Remove the directory PATH.  */
-extern int rmdir (__const char *__path) __THROW;
+extern int rmdir (__const char *__path) __THROW __nonnull ((1));
 
 
 /* Return the foreground process group ID of FD.  */
@@ -690,15 +756,25 @@
 extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __THROW;
 
 
-/* Return the login name of the user.  */
-extern char *getlogin (void) __THROW;
+/* Return the login name of the user.
+
+   This function is a possible cancellation points and therefore not
+   marked with __THROW.  */
+extern char *getlogin (void);
 #if defined __USE_REENTRANT || defined __USE_UNIX98
 /* Return at most NAME_LEN characters of the login name of the user in NAME.
    If it cannot be determined or some other error occurred, return the error
-   code.  Otherwise return 0.  */
-extern int getlogin_r (char *__name, size_t __name_len) __THROW;
+   code.  Otherwise return 0.
+
+   This function is a possible cancellation points and therefore not
+   marked with __THROW.  */
+extern int getlogin_r (char *__name, size_t __name_len) __nonnull ((1));
 #endif
 
+#if 0 /* def	__USE_BSD */
+/* Set the login name returned by `getlogin'.  */
+extern int setlogin (__const char *__name) __THROW __nonnull ((1));
+#endif
 
 
 #ifdef	__USE_POSIX2
@@ -706,7 +782,7 @@
    arguments in ARGV (ARGC of them, minus the program name) for
    options given in OPTS.  */
 # define __need_getopt
-# include <bits/getopt.h>
+# include <getopt.h>
 #endif
 
 
@@ -714,14 +790,15 @@
 /* Put the name of the current host in no more than LEN bytes of NAME.
    The result is null-terminated if LEN is large enough for the full
    name and the terminator.  */
-extern int gethostname (char *__name, size_t __len) __THROW;
+extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1));
 #endif
 
 
 #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) __THROW;
+extern int sethostname (__const char *__name, size_t __len)
+     __THROW __nonnull ((1));
 
 /* Set the current machine's Internet number to ID.
    This call is restricted to the super-user.  */
@@ -731,8 +808,10 @@
 /* Get and set the NIS (aka YP) domain name, if any.
    Called just like `gethostname' and `sethostname'.
    The NIS domain name is usually the empty string when not using NIS.  */
-extern int getdomainname (char *__name, size_t __len) __THROW;
-extern int setdomainname (__const char *__name, size_t __len) __THROW;
+extern int getdomainname (char *__name, size_t __len)
+     __THROW __nonnull ((1));
+extern int setdomainname (__const char *__name, size_t __len)
+     __THROW __nonnull ((1));
 
 
 /* Revoke access permissions to all processes currently communicating
@@ -740,12 +819,26 @@
    group of the control terminal.  */
 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));
 
 
+/* Enable statistical profiling, writing samples of the PC into at most
+   SIZE bytes of SAMPLE_BUFFER; every processor clock tick while profiling
+   is enabled, the system examines the user PC and increments
+   SAMPLE_BUFFER[((PC - OFFSET) / 2) * SCALE / 65536].  If SCALE is zero,
+   disable profiling.  Returns zero on success, -1 on error.  */
+extern int profil (unsigned short int *__sample_buffer, size_t __size,
+		   size_t __offset, unsigned int __scale)
+     __THROW __nonnull ((1));
+#endif
+
+
 /* 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 __nonnull ((1));
 
 
 /* Successive calls return the shells listed in `/etc/shells'.  */
@@ -754,7 +847,7 @@
 extern void setusershell (void) __THROW; /* Rewind and re-read the file.  */
 
 
-#if defined __ARCH_HAS_MMU__
+#ifdef __ARCH_HAS_MMU__
 /* Put the program in the background, and dissociate from the controlling
    terminal.  If NOCHDIR is zero, do `chdir ("/")'.  If NOCLOSE is zero,
    redirects stdin, stdout, and stderr to /dev/null.  */
@@ -766,24 +859,27 @@
 #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;
+extern int chroot (__const char *__path) __THROW __nonnull ((1));
 
 /* 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) __THROW;
+extern char *getpass (__const char *__prompt) __nonnull ((1));
 #endif /* Use BSD || X/Open.  */
 
 
 #if defined __USE_BSD || defined __USE_XOPEN
-/* Make all changes done to FD actually appear on disk.  */
-extern int fsync (int __fd) __THROW;
+/* 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.  */
 
 
 #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
 
-/* Return the current machine's Internet number.  */
-extern long int gethostid (void) __THROW;
+/* Return identifier for the current host.  */
+extern long int gethostid (void);
 
 /* Make all changes done to all files actually appear on disk.  */
 extern void sync (void) __THROW;
@@ -794,29 +890,40 @@
 extern int getpagesize (void)  __THROW __attribute__ ((__const__));
 
 
+/* Return the maximum number of file descriptors
+   the current process could possibly have.  */
+extern int getdtablesize (void) __THROW;
+
+
 /* Truncate FILE to LENGTH bytes.  */
 # ifndef __USE_FILE_OFFSET64
-extern int truncate (__const char *__file, __off_t __length) __THROW;
+extern int truncate (__const char *__file, __off_t __length)
+     __THROW __nonnull ((1));
 # else
 #  ifdef __REDIRECT
 extern int __REDIRECT (truncate,
-		       (__const char *__file, __off64_t __length) __THROW,
-		       truncate64);
+			   (__const char *__file, __off64_t __length),
+			   truncate64) __nonnull ((1));
 #  else
 #   define truncate truncate64
 #  endif
 # endif
 # ifdef __USE_LARGEFILE64
-extern int truncate64 (__const char *__file, __off64_t __length) __THROW;
+extern int truncate64 (__const char *__file, __off64_t __length)
+     __THROW __nonnull ((1));
 # endif
 
+#endif /* Use BSD || X/Open Unix.  */
+
+#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K
+
 /* Truncate the file FD is open on to LENGTH bytes.  */
 # ifndef __USE_FILE_OFFSET64
 extern int ftruncate (int __fd, __off_t __length) __THROW;
 # else
 #  ifdef __REDIRECT
-extern int __REDIRECT (ftruncate, (int __fd, __off64_t __length) __THROW,
-		       ftruncate64);
+extern int __REDIRECT (ftruncate, (int __fd, __off64_t __length),
+			   ftruncate64);
 #  else
 #   define ftruncate ftruncate64
 #  endif
@@ -825,14 +932,9 @@
 extern int ftruncate64 (int __fd, __off64_t __length) __THROW;
 # endif
 
+#endif /* Use BSD || X/Open Unix || POSIX 2003.  */
 
-/* Return the maximum number of file descriptors
-   the current process could possibly have.  */
-extern int getdtablesize (void) __THROW;
 
-#endif /* Use BSD || X/Open Unix.  */
-
-
 #if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
 
 /* Set the end of accessible data space (aka "the break") to ADDR.
@@ -870,25 +972,28 @@
 
 /* `lockf' is a simpler interface to the locking facilities of `fcntl'.
    LEN is always relative to the current file position.
-   The CMD argument is one of the following.  */
+   The CMD argument is one of the following.
 
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+
 # define F_ULOCK 0	/* Unlock a previously locked region.  */
 # define F_LOCK  1	/* Lock a region for exclusive use.  */
 # define F_TLOCK 2	/* Test and lock a region for exclusive use.  */
 # define F_TEST  3	/* Test a region for other processes locks.  */
 
 # ifndef __USE_FILE_OFFSET64
-extern int lockf (int __fd, int __cmd, __off_t __len) __THROW;
+extern int lockf (int __fd, int __cmd, __off_t __len);
 # else
 #  ifdef __REDIRECT
-extern int __REDIRECT (lockf, (int __fd, int __cmd, __off64_t __len) __THROW,
+extern int __REDIRECT (lockf, (int __fd, int __cmd, __off64_t __len),
 		       lockf64);
 #  else
 #   define lockf lockf64
 #  endif
 # endif
 # ifdef __USE_LARGEFILE64
-extern int lockf64 (int __fd, int __cmd, __off64_t __len) __THROW;
+extern int lockf64 (int __fd, int __cmd, __off64_t __len);
 # endif
 #endif /* Use misc and F_LOCK not already defined.  */
 
@@ -917,11 +1022,12 @@
    be defined here.  */
 #ifdef	__USE_XOPEN
 /* Encrypt at most 8 characters from KEY using salt to perturb DES.  */
-extern char *crypt (__const char *__key, __const char *__salt) __THROW;
+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
    block in place.  */
-extern void encrypt (char *__block, int __edflag) __THROW;
+extern void encrypt (char *__block, int __edflag) __THROW __nonnull ((1));
 
 
 /* Swab pairs bytes in the first N bytes of the area pointed to by
@@ -929,7 +1035,7 @@
    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,
-		  ssize_t __n) __THROW;
+		  ssize_t __n) __THROW __nonnull ((1, 2));
 #endif
 
 
@@ -937,7 +1043,7 @@
    It is also found in <stdio.h>.  */
 #ifdef __USE_XOPEN
 /* Return the name of the controlling terminal.  */
-extern char *ctermid (char *__s) __THROW;
+extern char *ctermid (char *__s) __THROW __nonnull ((1));
 #endif
 
 __END_DECLS




More information about the uClibc-cvs mailing list