diff options
Diffstat (limited to 'libc/sysdeps/linux/mips/bits')
64 files changed, 896 insertions, 937 deletions
diff --git a/libc/sysdeps/linux/mips/bits/byteswap.h b/libc/sysdeps/linux/mips/bits/byteswap.h index 89e9ee27a..7866abe9c 100644 --- a/libc/sysdeps/linux/mips/bits/byteswap.h +++ b/libc/sysdeps/linux/mips/bits/byteswap.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #if !defined _BYTESWAP_H && !defined _NETINET_IN_H  # error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/cmathcalls.h b/libc/sysdeps/linux/mips/bits/cmathcalls.h index 6679500be..c680c6d8e 100644 --- a/libc/sysdeps/linux/mips/bits/cmathcalls.h +++ b/libc/sysdeps/linux/mips/bits/cmathcalls.h @@ -4,19 +4,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  /* NOTE: Because of the special way this file is used by <complex.h>, this     file must NOT be protected from multiple inclusion as header files @@ -47,7 +47,6 @@  #define _Mdouble_complex_ _Mdouble_ _Complex -__BEGIN_DECLS  /* Trigonometric functions.  */ @@ -157,5 +156,3 @@ __MATH_PRECNAME(conj) (_Mdouble_complex_ __z) __THROW  }  #endif - -__END_DECLS diff --git a/libc/sysdeps/linux/mips/bits/confname.h b/libc/sysdeps/linux/mips/bits/confname.h index 7565e495d..ba8868af4 100644 --- a/libc/sysdeps/linux/mips/bits/confname.h +++ b/libc/sysdeps/linux/mips/bits/confname.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _UNISTD_H  # error "Never use <bits/confname.h> directly; include <unistd.h> instead." @@ -58,8 +58,12 @@ enum  #define _PC_REC_MAX_XFER_SIZE		_PC_REC_MAX_XFER_SIZE      _PC_REC_MIN_XFER_SIZE,  #define _PC_REC_MIN_XFER_SIZE		_PC_REC_MIN_XFER_SIZE -    _PC_REC_XFER_ALIGN +    _PC_REC_XFER_ALIGN,  #define _PC_REC_XFER_ALIGN		_PC_REC_XFER_ALIGN +    _PC_ALLOC_SIZE_MIN, +#define _PC_ALLOC_SIZE_MIN		_PC_ALLOC_SIZE_MIN +    _PC_SYMLINK_MAX +#define _PC_SYMLINK_MAX			_PC_SYMLINK_MAX    };  /* Values for the argument to `sysconf'.  */ @@ -384,8 +388,8 @@ enum  #define _SC_FILE_SYSTEM			_SC_FILE_SYSTEM      _SC_MONOTONIC_CLOCK,  #define _SC_MONOTONIC_CLOCK		_SC_MONOTONIC_CLOCK -    _SC_MULTIPLE_PROCESS, -#define _SC_MULTIPLE_PROCESS		_SC_MULTIPLE_PROCESS +    _SC_MULTI_PROCESS, +#define _SC_MULTI_PROCESS		_SC_MULTI_PROCESS      _SC_SINGLE_PROCESS,  #define _SC_SINGLE_PROCESS		_SC_SINGLE_PROCESS      _SC_NETWORKING, @@ -430,12 +434,32 @@ enum  #define _SC_2_PBS_MESSAGE		_SC_2_PBS_MESSAGE      _SC_2_PBS_TRACK,  #define _SC_2_PBS_TRACK			_SC_2_PBS_TRACK -    _SC_SYMLOOP, -#define _SC_SYMLOOP			_SC_SYMLOOP +    _SC_SYMLOOP_MAX, +#define _SC_SYMLOOP_MAX			_SC_SYMLOOP_MAX      _SC_STREAMS,  #define _SC_STREAMS			_SC_STREAMS -    _SC_2_PBS_CHECKPOINT +    _SC_2_PBS_CHECKPOINT,  #define _SC_2_PBS_CHECKPOINT		_SC_2_PBS_CHECKPOINT + +    _SC_V6_ILP32_OFF32, +#define _SC_V6_ILP32_OFF32		_SC_V6_ILP32_OFF32 +    _SC_V6_ILP32_OFFBIG, +#define _SC_V6_ILP32_OFFBIG		_SC_V6_ILP32_OFFBIG +    _SC_V6_LP64_OFF64, +#define _SC_V6_LP64_OFF64		_SC_V6_LP64_OFF64 +    _SC_V6_LPBIG_OFFBIG, +#define _SC_V6_LPBIG_OFFBIG		_SC_V6_LPBIG_OFFBIG + +    _SC_HOST_NAME_MAX, +#define _SC_HOST_NAME_MAX		_SC_HOST_NAME_MAX +    _SC_TRACE, +#define _SC_TRACE			_SC_TRACE +    _SC_TRACE_EVENT_FILTER, +#define _SC_TRACE_EVENT_FILTER		_SC_TRACE_EVENT_FILTER +    _SC_TRACE_INHERIT, +#define _SC_TRACE_INHERIT		_SC_TRACE_INHERIT +    _SC_TRACE_LOG +#define _SC_TRACE_LOG			_SC_TRACE_LOG    };  #if (defined __USE_POSIX2 || defined __USE_UNIX98 \ @@ -444,64 +468,99 @@ enum  /* Values for the NAME argument to `confstr'.  */  enum    { -    _CS_PATH			/* The default search path.  */ +    _CS_PATH,			/* The default search path.  */  #define _CS_PATH		_CS_PATH -#if (defined __USE_FILE_OFFSET64 || defined __USE_LARGEFILE64 \ +# if (defined __USE_FILE_OFFSET64 || defined __USE_LARGEFILE64 \       || defined __USE_LARGEFILE) -    ,      _CS_LFS_CFLAGS = 1000, -# define _CS_LFS_CFLAGS		_CS_LFS_CFLAGS +#  define _CS_LFS_CFLAGS		_CS_LFS_CFLAGS      _CS_LFS_LDFLAGS, -# define _CS_LFS_LDFLAGS	_CS_LFS_LDFLAGS +#  define _CS_LFS_LDFLAGS	_CS_LFS_LDFLAGS      _CS_LFS_LIBS, -# define _CS_LFS_LIBS		_CS_LFS_LIBS +#  define _CS_LFS_LIBS		_CS_LFS_LIBS      _CS_LFS_LINTFLAGS, -# define _CS_LFS_LINTFLAGS	_CS_LFS_LINTFLAGS +#  define _CS_LFS_LINTFLAGS	_CS_LFS_LINTFLAGS      _CS_LFS64_CFLAGS, -# define _CS_LFS64_CFLAGS	_CS_LFS64_CFLAGS +#  define _CS_LFS64_CFLAGS	_CS_LFS64_CFLAGS      _CS_LFS64_LDFLAGS, -# define _CS_LFS64_LDFLAGS	_CS_LFS64_LDFLAGS +#  define _CS_LFS64_LDFLAGS	_CS_LFS64_LDFLAGS      _CS_LFS64_LIBS, -# define _CS_LFS64_LIBS		_CS_LFS64_LIBS -    _CS_LFS64_LINTFLAGS -# define _CS_LFS64_LINTFLAGS	_CS_LFS64_LINTFLAGS -#endif +#  define _CS_LFS64_LIBS		_CS_LFS64_LIBS +    _CS_LFS64_LINTFLAGS, +#  define _CS_LFS64_LINTFLAGS	_CS_LFS64_LINTFLAGS +# endif -#ifdef __USE_UNIX98 -    , +# ifdef __USE_UNIX98      _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, -# define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS +#  define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS      _CS_XBS5_ILP32_OFF32_LDFLAGS, -# define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS +#  define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS      _CS_XBS5_ILP32_OFF32_LIBS, -# define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS +#  define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS      _CS_XBS5_ILP32_OFF32_LINTFLAGS, -# define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS +#  define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS      _CS_XBS5_ILP32_OFFBIG_CFLAGS, -# define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS +#  define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS      _CS_XBS5_ILP32_OFFBIG_LDFLAGS, -# define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS +#  define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS      _CS_XBS5_ILP32_OFFBIG_LIBS, -# define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS +#  define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS      _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, -# define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS +#  define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS      _CS_XBS5_LP64_OFF64_CFLAGS, -# define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS +#  define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS      _CS_XBS5_LP64_OFF64_LDFLAGS, -# define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS +#  define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS      _CS_XBS5_LP64_OFF64_LIBS, -# define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS +#  define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS      _CS_XBS5_LP64_OFF64_LINTFLAGS, -# define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS +#  define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS      _CS_XBS5_LPBIG_OFFBIG_CFLAGS, -# define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS +#  define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS      _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, -# define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS +#  define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS      _CS_XBS5_LPBIG_OFFBIG_LIBS, -# define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS -    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS -# define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS -#endif +#  define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS +    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, +#  define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS +# endif +# ifdef __USE_XOPEN2K +    _CS_POSIX_V6_ILP32_OFF32_CFLAGS, +#  define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS +    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, +#  define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS +    _CS_POSIX_V6_ILP32_OFF32_LIBS, +#  define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS +    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, +#  define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS +    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, +#  define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS +    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, +#  define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS +    _CS_POSIX_V6_ILP32_OFFBIG_LIBS, +#  define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS +    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, +#  define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS +    _CS_POSIX_V6_LP64_OFF64_CFLAGS, +#  define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS +    _CS_POSIX_V6_LP64_OFF64_LDFLAGS, +#  define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS +    _CS_POSIX_V6_LP64_OFF64_LIBS, +#  define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS +    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, +#  define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS +    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, +#  define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS +    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, +#  define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS +    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, +#  define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS +    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, +#  define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS +# endif + +    _CS_V6_WIDTH_RESTRICTED_ENVS +# define _CS_V6_WIDTH_RESTRICTED_ENVS	_CS_V6_WIDTH_RESTRICTED_ENVS    };  #endif diff --git a/libc/sysdeps/linux/mips/bits/dirent.h b/libc/sysdeps/linux/mips/bits/dirent.h index 1754c7cbe..88b718672 100644 --- a/libc/sysdeps/linux/mips/bits/dirent.h +++ b/libc/sysdeps/linux/mips/bits/dirent.h @@ -2,29 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. - -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ - -/* - * June 25, 2001 - * - * Removed d_type support for dirent and undefined _DIRENT_HAVE_D_TYPE; - * i.e. match the kernel structs and avoid any translation for now. - * Note: glibc fakes d_type for the dirent case. - * Note: dirent64 still has the d_type field. - */ +   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.  */  #ifndef _DIRENT_H  # error "Never use <bits/dirent.h> directly; include <dirent.h> instead." @@ -40,6 +30,7 @@ struct dirent      __off64_t d_off;  #endif      unsigned short int d_reclen; +    /*unsigned char d_type;*/      char d_name[256];		/* We must not include limits.h! */    }; @@ -49,7 +40,7 @@ struct dirent64      __ino64_t d_ino;      __off64_t d_off;      unsigned short int d_reclen; -    unsigned char d_type; +    /*unsigned char d_type;*/      char d_name[256];		/* We must not include limits.h! */    };  #endif @@ -59,4 +50,4 @@ struct dirent64  #undef  _DIRENT_HAVE_D_NAMLEN  #define _DIRENT_HAVE_D_RECLEN  #define _DIRENT_HAVE_D_OFF -#undef  _DIRENT_HAVE_D_TYPE +#undef _DIRENT_HAVE_D_TYPE diff --git a/libc/sysdeps/linux/mips/bits/dlfcn.h b/libc/sysdeps/linux/mips/bits/dlfcn.h index 21aac6542..2380caa9d 100644 --- a/libc/sysdeps/linux/mips/bits/dlfcn.h +++ b/libc/sysdeps/linux/mips/bits/dlfcn.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _DLFCN_H  # error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead." @@ -54,8 +54,6 @@  # define DL_CALL_FCT(fctp, args) \    (_dl_mcount_wrapper_check (fctp), (*(fctp)) args) -__BEGIN_DECLS  /* This function calls the profiling functions.  */  extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW; -__END_DECLS  #endif diff --git a/libc/sysdeps/linux/mips/bits/environments.h b/libc/sysdeps/linux/mips/bits/environments.h index f3af20655..c3829927b 100644 --- a/libc/sysdeps/linux/mips/bits/environments.h +++ b/libc/sysdeps/linux/mips/bits/environments.h @@ -1,20 +1,20 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2001 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 -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _UNISTD_H  # error "Never include this file directly.  Use <unistd.h> instead" @@ -27,32 +27,48 @@     `-1' means it is never supported.  Undefined means it cannot be     statically decided. -   _XBS5_ILP32_OFF32	32bit int, long, pointers, and off_t type -   _XBS5_ILP32_OFFBIG	32bit int, long, and pointers and larger off_t type +   _POSIX_V6_ILP32_OFF32   32bit int, long, pointers, and off_t type +   _POSIX_V6_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type -   _XBS5_LP64_OFF32	64bit long and pointers and 32bit off_t type -   _XBS5_LPBIG_OFFBIG	64bit long and pointers and large off_t type +   _POSIX_V6_LP64_OFF32	   64bit long and pointers and 32bit off_t type +   _POSIX_V6_LPBIG_OFFBIG  64bit long and pointers and large off_t type + +   The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and +   _XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard +   and are available only for compatibility.  */  #if __WORDSIZE == 64  /* We can never provide environments with 32-bit wide pointers.  */ +# define _POSIX_V6_ILP32_OFF32	-1 +# define _POSIX_V6_ILP32_OFFBIG	-1  # define _XBS5_ILP32_OFF32	-1  # define _XBS5_ILP32_OFFBIG	-1 +/* We also have no use (for now) for an environment with bigger pointers +   and offsets.  */ +# define _POSIX_V6_LPBIG_OFFBIG	-1 +# define _XBS5_LPBIG_OFFBIG	-1  /* By default we have 64-bit wide `long int', pointers and `off_t'.  */ -# define _XBS5_LP64_OFF32	1 -# define _XBS5_LPBIG_OFFBIG	1 +# define _POSIX_V6_LP64_OFF64	1 +# define _XBS5_LP64_OFF64	1  #else /* __WORDSIZE == 32 */ -/* By default we have 32-bit wide `int', `long int', pointers and `off_t'.  */ +/* By default we have 32-bit wide `int', `long int', pointers and `off_t' +   and all platforms support LFS.  */ +# define _POSIX_V6_ILP32_OFF32	1 +# define _POSIX_V6_ILP32_OFFBIG	1  # define _XBS5_ILP32_OFF32	1 +# define _XBS5_ILP32_OFFBIG	1  /* We optionally provide an environment with the above size but an 64-bit     side `off_t'.  Therefore we don't define _XBS5_ILP32_OFFBIG.  */  /* We can never provide environments with 64-bit wide pointers.  */ +# define _POSIX_V6_LP64_OFF64	-1 +# define _POSIX_V6_LPBIG_OFFBIG	-1  # define _XBS5_LP64_OFF64	-1  # define _XBS5_LPBIG_OFFBIG	-1 diff --git a/libc/sysdeps/linux/mips/bits/errno.h b/libc/sysdeps/linux/mips/bits/errno.h index 53db5dd7b..29ba9807a 100644 --- a/libc/sysdeps/linux/mips/bits/errno.h +++ b/libc/sysdeps/linux/mips/bits/errno.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifdef _ERRNO_H @@ -28,14 +28,11 @@  # define ENOTSUP EOPNOTSUPP  # ifndef __ASSEMBLER__ - -__BEGIN_DECLS -  /* We now need a declaration of the `errno' variable.  */  extern int errno;  /* Function to get address of global `errno' variable.  */ -extern int *__errno_location (void); +extern int *__errno_location (void) __THROW __attribute__ ((__const__));  #  if defined _LIBC  /* We wouldn't need a special macro anymore but it is history.  */ @@ -46,9 +43,6 @@ extern int *__errno_location (void);  /* When using threads, errno is a per-thread value.  */  #   define errno (*__errno_location ())  #  endif - -__END_DECLS -  # endif /* !__ASSEMBLER__ */  #endif /* _ERRNO_H */ diff --git a/libc/sysdeps/linux/mips/bits/fcntl.h b/libc/sysdeps/linux/mips/bits/fcntl.h index 5657c32c4..6a09a09ec 100644 --- a/libc/sysdeps/linux/mips/bits/fcntl.h +++ b/libc/sysdeps/linux/mips/bits/fcntl.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU -   Library General Public License for more details. +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.	*/ +   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.  */  #ifndef _FCNTL_H  # error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/fenv.h b/libc/sysdeps/linux/mips/bits/fenv.h index 4e740365b..24e0694ca 100644 --- a/libc/sysdeps/linux/mips/bits/fenv.h +++ b/libc/sysdeps/linux/mips/bits/fenv.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _FENV_H  # error "Never use <bits/fenv.h> directly; include <fenv.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/huge_val.h b/libc/sysdeps/linux/mips/bits/huge_val.h index f4c92fc7e..b33974364 100644 --- a/libc/sysdeps/linux/mips/bits/huge_val.h +++ b/libc/sysdeps/linux/mips/bits/huge_val.h @@ -4,19 +4,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _MATH_H  # error "Never use <bits/huge_val.h> directly; include <math.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/in.h b/libc/sysdeps/linux/mips/bits/in.h index 6778d3fd8..e6cf57574 100644 --- a/libc/sysdeps/linux/mips/bits/in.h +++ b/libc/sysdeps/linux/mips/bits/in.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  /* Linux version.  */ diff --git a/libc/sysdeps/linux/mips/bits/ioctl-types.h b/libc/sysdeps/linux/mips/bits/ioctl-types.h index 573f9e7ca..a8dcf242d 100644 --- a/libc/sysdeps/linux/mips/bits/ioctl-types.h +++ b/libc/sysdeps/linux/mips/bits/ioctl-types.h @@ -1,21 +1,21 @@  /* Structure types for pre-termios terminal ioctls.  Linux/MIPS version. -   Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc. +   Copyright (C) 1997, 1999, 2000, 2001 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 -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_IOCTL_H  # error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead." @@ -73,3 +73,4 @@ struct termio  #define N_SMSBLOCK	12	/* SMS block mode  */  #define N_HDLC		13	/* synchronous HDLC  */  #define N_SYNC_PPP	14	/* synchronous PPP  */ +#define	N_HCI		15	/* Bluetooth HCI UART  */ diff --git a/libc/sysdeps/linux/mips/bits/ioctls.h b/libc/sysdeps/linux/mips/bits/ioctls.h index c103645f6..b49ca2076 100644 --- a/libc/sysdeps/linux/mips/bits/ioctls.h +++ b/libc/sysdeps/linux/mips/bits/ioctls.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_IOCTL_H  # error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/ipc.h b/libc/sysdeps/linux/mips/bits/ipc.h index a15b5fc8e..1f629ce66 100644 --- a/libc/sysdeps/linux/mips/bits/ipc.h +++ b/libc/sysdeps/linux/mips/bits/ipc.h @@ -1,30 +1,30 @@ -/* Copyright (C) 1995, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1995, 96, 97, 98, 99, 2000, 2001 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 -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_IPC_H  # error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."  #endif -#include <sys/types.h> +#include <bits/types.h>  /* Mode bits for `msgget', `semget', and `shmget'.  */  #define IPC_CREAT	01000		/* Create key if key does not exist. */ -#define IPC_EXCL	02000		/* Fail if key exists.  */ +#define IPC_EXCL	02000		/* Fail if key exists.	*/  #define IPC_NOWAIT	04000		/* Return error on wait.  */  /* Control commands for `msgctl', `semctl', and `shmctl'.  */ @@ -35,42 +35,21 @@  # define IPC_INFO	3		/* See ipcs.  */  #endif -/* Special key values.  */ -#define IPC_PRIVATE	((__key_t) 0)	/* Private key.  */ +/* Special key values.	*/ +#define IPC_PRIVATE	((__key_t) 0)	/* Private key.	 */  /* Data structure used to pass permission information to IPC operations.  */  struct ipc_perm    {      __key_t __key;			/* Key.  */ -    long int uid;			/* Owner's user ID.  */ -    long int gid;			/* Owner's group ID.  */ -    long int cuid;			/* Creator's user ID.  */ -    long int cgid;			/* Creator's group ID.  */ -    unsigned long int mode;		/* Read/write permission.  */ +    unsigned int uid;			/* Owner's user ID.  */ +    unsigned int gid;			/* Owner's group ID.  */ +    unsigned int cuid;			/* Creator's user ID.  */ +    unsigned int cgid;			/* Creator's group ID.	*/ +    unsigned int mode;			/* Read/write permission.  */      unsigned short int __seq;		/* Sequence number.  */ -  }; - - -__BEGIN_DECLS - -/* The actual system call: all functions are multiplexed by this.  */ -extern int __ipc (int __call, int __first, int __second, int __third, -		  void *__ptr); - -__END_DECLS - -#ifdef __USE_GNU -/* The codes for the functions to use the multiplexer `__ipc'.  */ -# define IPCOP_semop	 1 -# define IPCOP_semget	 2 -# define IPCOP_semctl	 3 -# define IPCOP_msgsnd	11 -# define IPCOP_msgrcv	12 -# define IPCOP_msgget	13 -# define IPCOP_msgctl	14 -# define IPCOP_shmat	21 -# define IPCOP_shmdt	22 -# define IPCOP_shmget	23 -# define IPCOP_shmctl	24 -#endif +    unsigned short int __pad1; +    unsigned long int __unused1; +    unsigned long int __unused2; +}; diff --git a/libc/sysdeps/linux/mips/bits/libc-lock.h b/libc/sysdeps/linux/mips/bits/libc-lock.h index fa43d4839..2c1d16277 100644 --- a/libc/sysdeps/linux/mips/bits/libc-lock.h +++ b/libc/sysdeps/linux/mips/bits/libc-lock.h @@ -23,11 +23,17 @@  #include <pthread.h>  /* Mutex type.  */ -#ifdef _LIBC +#if defined(_LIBC) || defined(_IO_MTSAFE_IO)  typedef pthread_mutex_t __libc_lock_t; +typedef struct { pthread_mutex_t mutex; } __libc_lock_recursive_t; +# ifdef __USE_UNIX98  typedef pthread_rwlock_t __libc_rwlock_t; +# else +typedef struct __libc_rwlock_opaque__ __libc_rwlock_t; +# endif  #else  typedef struct __libc_lock_opaque__ __libc_lock_t; +typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t;  typedef struct __libc_rwlock_opaque__ __libc_rwlock_t;  #endif @@ -45,6 +51,8 @@ typedef pthread_key_t __libc_key_t;    CLASS __libc_lock_t NAME;  #define __libc_rwlock_define(CLASS,NAME) \    CLASS __libc_rwlock_t NAME; +#define __libc_lock_define_recursive(CLASS,NAME) \ +  CLASS __libc_lock_recursive_t NAME;  /* Define an initialized lock variable NAME with storage class CLASS. @@ -69,7 +77,9 @@ typedef pthread_key_t __libc_key_t;  /* Define an initialized recursive lock variable NAME with storage     class CLASS.  */  #define __libc_lock_define_initialized_recursive(CLASS,NAME) \ -  CLASS __libc_lock_t NAME = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; +  CLASS __libc_lock_recursive_t NAME = _LIBC_LOCK_RECURSIVE_INITIALIZER; +#define _LIBC_LOCK_RECURSIVE_INITIALIZER \ +  {PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP}  /* Initialize the named lock variable, leaving it in a consistent, unlocked     state.  */ @@ -86,7 +96,7 @@ typedef pthread_key_t __libc_key_t;  	pthread_mutexattr_t __attr;					      \  	__pthread_mutexattr_init (&__attr);				      \  	__pthread_mutexattr_settype (&__attr, PTHREAD_MUTEX_RECURSIVE_NP); \ -	__pthread_mutex_init (&(NAME), &__attr);			      \ +	__pthread_mutex_init (&(NAME).mutex, &__attr);			      \  	__pthread_mutexattr_destroy (&__attr);				      \        }									      \    } while (0); @@ -100,7 +110,7 @@ typedef pthread_key_t __libc_key_t;    (__pthread_rwlock_destroy != NULL ? __pthread_rwlock_destroy (&(NAME)) : 0);  /* Finalize recursive named lock.  */ -#define __libc_lock_fini_recursive(NAME) __libc_lock_fini (NAME) +#define __libc_lock_fini_recursive(NAME) __libc_lock_fini ((NAME).mutex)  /* Lock the named lock variable.  */  #define __libc_lock_lock(NAME) \ @@ -111,7 +121,7 @@ typedef pthread_key_t __libc_key_t;    (__pthread_rwlock_wrlock != NULL ? __pthread_rwlock_wrlock (&(NAME)) : 0);  /* Lock the recursive named lock variable.  */ -#define __libc_lock_lock_recursive(NAME) __libc_lock_lock (NAME) +#define __libc_lock_lock_recursive(NAME) __libc_lock_lock ((NAME).mutex)  /* Try to lock the named lock variable.  */  #define __libc_lock_trylock(NAME) \ @@ -124,7 +134,7 @@ typedef pthread_key_t __libc_key_t;     ? __pthread_rwlock_trywrlock (&(NAME)) : 0)  /* Try to lock the recursive named lock variable.  */ -#define __libc_lock_trylock_recursive(NAME) __libc_lock_trylock (NAME) +#define __libc_lock_trylock_recursive(NAME) __libc_lock_trylock ((NAME).mutex)  /* Unlock the named lock variable.  */  #define __libc_lock_unlock(NAME) \ @@ -133,7 +143,7 @@ typedef pthread_key_t __libc_key_t;    (__pthread_rwlock_unlock != NULL ? __pthread_rwlock_unlock (&(NAME)) : 0);  /* Unlock the recursive named lock variable.  */ -#define __libc_lock_unlock_recursive(NAME) __libc_lock_unlock (NAME) +#define __libc_lock_unlock_recursive(NAME) __libc_lock_unlock ((NAME).mutex)  /* Define once control variable.  */ @@ -160,9 +170,9 @@ typedef pthread_key_t __libc_key_t;  /* Start critical region with cleanup.  */ -#define __libc_cleanup_region_start(FCT, ARG) \ +#define __libc_cleanup_region_start(DOIT, FCT, ARG) \    { struct _pthread_cleanup_buffer _buffer;				      \ -    int _avail = _pthread_cleanup_push_defer != NULL;			      \ +    int _avail = (DOIT) && _pthread_cleanup_push_defer != NULL;		      \      if (_avail) {							      \        _pthread_cleanup_push_defer (&_buffer, (FCT), (ARG));		      \      } @@ -200,8 +210,6 @@ typedef pthread_key_t __libc_key_t;  /* Functions that are used by this file and are internal to the GNU C     library.  */ -__BEGIN_DECLS -  extern int __pthread_mutex_init (pthread_mutex_t *__mutex,  				 __const pthread_mutexattr_t *__mutex_attr); @@ -252,7 +260,6 @@ extern int __pthread_atfork (void (*__prepare) (void),  			     void (*__parent) (void),  			     void (*__child) (void)); -__END_DECLS  /* Make the pthread functions weak so that we can elide them from diff --git a/libc/sysdeps/linux/mips/bits/local_lim.h b/libc/sysdeps/linux/mips/bits/local_lim.h index 2a6782c49..0a7c83706 100644 --- a/libc/sysdeps/linux/mips/bits/local_lim.h +++ b/libc/sysdeps/linux/mips/bits/local_lim.h @@ -28,12 +28,9 @@  #ifndef LINK_MAX  # define __undef_LINK_MAX  #endif -/* uClibc likes to have a definition of OPEN_MAX */ -#if 0  #ifndef OPEN_MAX  # define __undef_OPEN_MAX  #endif -#endif  /* The kernel sources contain a file with all the needed information.  */  #include <linux/limits.h> diff --git a/libc/sysdeps/linux/mips/bits/locale.h b/libc/sysdeps/linux/mips/bits/locale.h index b15a9b0d7..50064b53e 100644 --- a/libc/sysdeps/linux/mips/bits/locale.h +++ b/libc/sysdeps/linux/mips/bits/locale.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #if !defined _LOCALE_H && !defined _LANGINFO_H  # error "Never use <bits/locale.h> directly; include <locale.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/mathcalls.h b/libc/sysdeps/linux/mips/bits/mathcalls.h index 9334e7fa4..c1181f737 100644 --- a/libc/sysdeps/linux/mips/bits/mathcalls.h +++ b/libc/sysdeps/linux/mips/bits/mathcalls.h @@ -1,21 +1,21 @@  /* Prototype declarations for math functions; helper file for <math.h>. -   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. +   Copyright (C) 1996,1997,1998,1999,2000,2001 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 -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  /* NOTE: Because of the special way this file is used by <math.h>, this     file must NOT be protected from multiple inclusion as header files @@ -186,14 +186,6 @@ __MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));  /* Return nonzero if VALUE is finite and not NaN.  */  __MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__)); -/* Deal with an infinite or NaN result. -   If ERROR is ERANGE, result is +Inf; -   if ERROR is - ERANGE, result is -Inf; -   otherwise result is NaN. -   This will set `errno' to either ERANGE or EDOM, -   and may return an infinity or NaN, or may do something else.  */ -__MATHCALLX (infnan,, (int __error), (__const__)); -  /* Return the remainder of X/Y.  */  __MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y)); diff --git a/libc/sysdeps/linux/mips/bits/mathdef.h b/libc/sysdeps/linux/mips/bits/mathdef.h index 20fe35ff5..d08dc3820 100644 --- a/libc/sysdeps/linux/mips/bits/mathdef.h +++ b/libc/sysdeps/linux/mips/bits/mathdef.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #if !defined _MATH_H && !defined _COMPLEX_H  # error "Never use <bits/mathdef.h> directly; include <math.h> instead" diff --git a/libc/sysdeps/linux/mips/bits/mman.h b/libc/sysdeps/linux/mips/bits/mman.h index f6c5094f8..61886e27e 100644 --- a/libc/sysdeps/linux/mips/bits/mman.h +++ b/libc/sysdeps/linux/mips/bits/mman.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_MMAN_H  # error "Never use <bits/mman.h> directly; include <sys/mman.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/msq.h b/libc/sysdeps/linux/mips/bits/msq.h index 7088ae209..32a49b592 100644 --- a/libc/sysdeps/linux/mips/bits/msq.h +++ b/libc/sysdeps/linux/mips/bits/msq.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_MSG_H  # error "Never use <bits/msq.h> directly; include <sys/msg.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/nan.h b/libc/sysdeps/linux/mips/bits/nan.h index fbabd7e29..6d88b551b 100644 --- a/libc/sysdeps/linux/mips/bits/nan.h +++ b/libc/sysdeps/linux/mips/bits/nan.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _MATH_H  # error "Never use <bits/nan.h> directly; include <math.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/netdb.h b/libc/sysdeps/linux/mips/bits/netdb.h index f687a3ee7..41dc73193 100644 --- a/libc/sysdeps/linux/mips/bits/netdb.h +++ b/libc/sysdeps/linux/mips/bits/netdb.h @@ -1,20 +1,20 @@  /* Copyright (C) 1996, 1997, 1998, 1999, 2000 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 modify it under the terms of the GNU Library General Public +   The GNU C Library is free software; you can redistribute it and/or +   modify it under the terms of the GNU Lesser General Public     License as published by the Free Software Foundation; either -   version 2 of the License, or (at your option) any later version. +   version 2.1 of the License, or (at your option) any later version. -   The GNU C Library is distributed in the hope that it will be -   useful, but WITHOUT ANY WARRANTY; without even the implied warranty -   of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -   GNU Library General Public License for more details. +   The GNU C Library is distributed in the hope that it will be useful, +   but WITHOUT ANY WARRANTY; without even the implied warranty of +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If -   not, write to the Free Software Foundation, Inc., 59 Temple Place - -   Suite 330, Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _NETDB_H  # error "Never include <bits/netdb.h> directly; use <netdb.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/poll.h b/libc/sysdeps/linux/mips/bits/poll.h index b0ef0788d..f62b9c394 100644 --- a/libc/sysdeps/linux/mips/bits/poll.h +++ b/libc/sysdeps/linux/mips/bits/poll.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_POLL_H  # error "Never use <bits/poll.h> directly; include <sys/poll.h> instead." @@ -46,8 +46,3 @@  #define POLLERR		0x008		/* Error condition.  */  #define POLLHUP		0x010		/* Hung up.  */  #define POLLNVAL	0x020		/* Invalid polling request.  */ - -#ifdef __USE_MISC -/* Canonical number of polling requests to read in at a time in poll.  */ -# define NPOLLFILE	30 -#endif diff --git a/libc/sysdeps/linux/mips/bits/posix1_lim.h b/libc/sysdeps/linux/mips/bits/posix1_lim.h index ea7a39f8a..e16f4674d 100644 --- a/libc/sysdeps/linux/mips/bits/posix1_lim.h +++ b/libc/sysdeps/linux/mips/bits/posix1_lim.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  /*   *	POSIX Standard: 2.9.2 Minimum Values	Added to <limits.h> diff --git a/libc/sysdeps/linux/mips/bits/posix2_lim.h b/libc/sysdeps/linux/mips/bits/posix2_lim.h index f4b5c6333..24483a09d 100644 --- a/libc/sysdeps/linux/mips/bits/posix2_lim.h +++ b/libc/sysdeps/linux/mips/bits/posix2_lim.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  /*   * Never include this file directly; include <limits.h> instead. diff --git a/libc/sysdeps/linux/mips/bits/posix_opt.h b/libc/sysdeps/linux/mips/bits/posix_opt.h index 83c5152e3..54640bb56 100644 --- a/libc/sysdeps/linux/mips/bits/posix_opt.h +++ b/libc/sysdeps/linux/mips/bits/posix_opt.h @@ -1,5 +1,5 @@  /* Define POSIX options for Linux. -   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. +   Copyright (C) 1996,1997,1998,1999,2000,2001 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 @@ -96,6 +96,7 @@  /* We support asynchronous I/O.  */  #define _POSIX_ASYNCHRONOUS_IO	1 +#define _POSIX_ASYNC_IO		1  /* Alternative name for Unix98.  */  #define _LFS_ASYNCHRONOUS_IO	1 diff --git a/libc/sysdeps/linux/mips/bits/pthreadtypes.h b/libc/sysdeps/linux/mips/bits/pthreadtypes.h index 0202c1203..3ee5c4813 100644 --- a/libc/sysdeps/linux/mips/bits/pthreadtypes.h +++ b/libc/sysdeps/linux/mips/bits/pthreadtypes.h @@ -22,14 +22,12 @@  #define __need_schedparam  #include <bits/sched.h> -typedef int _lt_spinlock_t; -  /* Fast locks (not abstract because mutexes and conditions aren't abstract). */  struct _pthread_fastlock  {    long int __status;   /* "Free" or "taken" or head of waiting list */ -  _lt_spinlock_t __spinlock; /* Used by compare_and_swap emulation. Also, -				adaptive SMP lock stores spin count here. */ +  int __spinlock;      /* Used by compare_and_swap emulation. Also, +			  adaptive SMP lock stores spin count here. */  };  #ifndef _PTHREAD_DESCR_DEFINED diff --git a/libc/sysdeps/linux/mips/bits/resource.h b/libc/sysdeps/linux/mips/bits/resource.h index ced5c5e4e..b8551a239 100644 --- a/libc/sysdeps/linux/mips/bits/resource.h +++ b/libc/sysdeps/linux/mips/bits/resource.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_RESOURCE_H  # error "Never use <bits/resource.h> directly; include <sys/resource.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/sched.h b/libc/sysdeps/linux/mips/bits/sched.h index e2c21b053..5c10d85d4 100644 --- a/libc/sysdeps/linux/mips/bits/sched.h +++ b/libc/sysdeps/linux/mips/bits/sched.h @@ -4,19 +4,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef __need_schedparam diff --git a/libc/sysdeps/linux/mips/bits/select.h b/libc/sysdeps/linux/mips/bits/select.h index dfe623eca..47e7dedc3 100644 --- a/libc/sysdeps/linux/mips/bits/select.h +++ b/libc/sysdeps/linux/mips/bits/select.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_SELECT_H  # error "Never use <bits/select.h> directly; include <sys/select.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/sem.h b/libc/sysdeps/linux/mips/bits/sem.h index c5c04bad1..6282de9cc 100644 --- a/libc/sysdeps/linux/mips/bits/sem.h +++ b/libc/sysdeps/linux/mips/bits/sem.h @@ -1,20 +1,20 @@ -/* Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 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 -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_SEM_H  # error "Never include <bits/sem.h> directly; use <sys/sem.h> instead." @@ -40,12 +40,10 @@ struct semid_ds  {    struct ipc_perm sem_perm;		/* operation permission struct */    __time_t sem_otime;			/* last semop() time */ -  unsigned long int __unused1;    __time_t sem_ctime;			/* last time changed by semctl() */ -  unsigned long int __unused2;    unsigned long int sem_nsems;		/* number of semaphores in set */ -  unsigned long int __unused3; -  unsigned long int __unused4; +  unsigned long int __unused1; +  unsigned long int __unused2;  };  /* The user should define a union like the following to use it for arguments diff --git a/libc/sysdeps/linux/mips/bits/setjmp.h b/libc/sysdeps/linux/mips/bits/setjmp.h index 908b6d593..8cb53ee29 100644 --- a/libc/sysdeps/linux/mips/bits/setjmp.h +++ b/libc/sysdeps/linux/mips/bits/setjmp.h @@ -1,20 +1,21 @@  /* Define the machine-dependent type `jmp_buf'.  MIPS version.     Copyright (C) 1992,93,95,97,2000 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 -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SETJMP_H  # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/shm.h b/libc/sysdeps/linux/mips/bits/shm.h index 2cc99bf30..ddae6b01c 100644 --- a/libc/sysdeps/linux/mips/bits/shm.h +++ b/libc/sysdeps/linux/mips/bits/shm.h @@ -1,26 +1,26 @@ -/* Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 2000, 2001 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 -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_SHM_H  # error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."  #endif -#include <sys/types.h> +#include <bits/types.h>  /* Permission flag for shmget.  */  #define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */ @@ -35,50 +35,55 @@  #define SHM_LOCK	11		/* lock segment (root only) */  #define SHM_UNLOCK	12		/* unlock segment (root only) */ +/* Type to count number of attaches.  */ +typedef unsigned long int shmatt_t;  /* Data structure describing a set of semaphores.  */  struct shmid_ds    {      struct ipc_perm shm_perm;		/* operation permission struct */ -    int shm_segsz;			/* size of segment in bytes */ +    size_t shm_segsz;			/* size of segment in bytes */      __time_t shm_atime;			/* time of last shmat() */      __time_t shm_dtime;			/* time of last shmdt() */      __time_t shm_ctime;			/* time of last change by shmctl() */ -    long int shm_cpid;			/* pid of creator */ -    long int shm_lpid;			/* pid of last shmop */ -    unsigned short int shm_nattch;	/* number of current attaches */ -    unsigned short int __shm_npages;	/* size of segment (pages) */ -    unsigned long int *__shm_pages;	/* array of ptrs to frames -> SHMMAX */ -    struct vm_area_struct *__attaches; /* descriptors for attaches */ +    __pid_t shm_cpid;			/* pid of creator */ +    __pid_t shm_lpid;			/* pid of last shmop */ +    shmatt_t shm_nattch;		/* number of current attaches */ +    unsigned long int __unused1; +    unsigned long int __unused2;    };  #ifdef __USE_MISC  /* ipcs ctl commands */ -# define SHM_STAT 	13 -# define SHM_INFO 	14 +# define SHM_STAT	13 +# define SHM_INFO	14  /* shm_mode upper byte flags */  # define SHM_DEST	01000	/* segment will be destroyed on last detach */  # define SHM_LOCKED	02000   /* segment will not be swapped */ -struct	shminfo +struct shminfo    { -    int shmmax; -    int shmmin; -    int shmmni; -    int shmseg; -    int shmall; +    unsigned long int shmmax; +    unsigned long int shmmin; +    unsigned long int shmmni; +    unsigned long int shmseg; +    unsigned long int shmall; +    unsigned long int __unused1; +    unsigned long int __unused2; +    unsigned long int __unused3; +    unsigned long int __unused4;    };  struct shm_info    { -    int   used_ids; -    ulong shm_tot;	/* total allocated shm */ -    ulong shm_rss;	/* total resident shm */ -    ulong shm_swp;	/* total swapped shm */ -    ulong swap_attempts; -    ulong swap_successes; +    int used_ids; +    unsigned long int shm_tot;  /* total allocated shm */ +    unsigned long int shm_rss;  /* total resident shm */ +    unsigned long int shm_swp;  /* total swapped shm */ +    unsigned long int swap_attempts; +    unsigned long int swap_successes;    };  #endif /* __USE_MISC */ diff --git a/libc/sysdeps/linux/mips/bits/sigaction.h b/libc/sysdeps/linux/mips/bits/sigaction.h index 022507865..93a759817 100644 --- a/libc/sysdeps/linux/mips/bits/sigaction.h +++ b/libc/sysdeps/linux/mips/bits/sigaction.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SIGNAL_H  # error "Never include <bits/sigaction.h> directly; use <signal.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/sigcontext.h b/libc/sysdeps/linux/mips/bits/sigcontext.h index 97cbf4b30..67dcf9498 100644 --- a/libc/sysdeps/linux/mips/bits/sigcontext.h +++ b/libc/sysdeps/linux/mips/bits/sigcontext.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H  # error "Never use <bits/sigcontext.h> directly; include <signal.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/siginfo.h b/libc/sysdeps/linux/mips/bits/siginfo.h index 6e6f70b8a..f385372bd 100644 --- a/libc/sysdeps/linux/mips/bits/siginfo.h +++ b/libc/sysdeps/linux/mips/bits/siginfo.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #if !defined _SIGNAL_H && !defined __need_siginfo_t \      && !defined __need_sigevent_t @@ -45,9 +45,9 @@ typedef union sigval  typedef struct siginfo    {      int si_signo;		/* Signal number.  */ +    int si_code;		/* Signal code.  */      int si_errno;		/* If non-zero, an errno value associated with  				   this signal, as defined in <errno.h>.  */ -    int si_code;		/* Signal code.  */      union        { diff --git a/libc/sysdeps/linux/mips/bits/signum.h b/libc/sysdeps/linux/mips/bits/signum.h index 2cf581473..a9b684834 100644 --- a/libc/sysdeps/linux/mips/bits/signum.h +++ b/libc/sysdeps/linux/mips/bits/signum.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifdef	_SIGNAL_H diff --git a/libc/sysdeps/linux/mips/bits/sigset.h b/libc/sysdeps/linux/mips/bits/sigset.h index de852a8a0..7ccadda45 100644 --- a/libc/sysdeps/linux/mips/bits/sigset.h +++ b/libc/sysdeps/linux/mips/bits/sigset.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef	_SIGSET_H_types  # define _SIGSET_H_types	1 @@ -97,8 +97,6 @@ typedef struct  #  endif  # endif -__BEGIN_DECLS -  /* These functions needn't check for a bogus signal number -- error     checking is done in the non __ versions.  */ @@ -123,6 +121,5 @@ __SIGSETFN (__sigdelset, ((__set->__val[__word] &= ~__mask), 0), )  #  undef __SIGSETFN  # endif -__END_DECLS  #endif /* ! _SIGSET_H_fns.  */ diff --git a/libc/sysdeps/linux/mips/bits/sigstack.h b/libc/sysdeps/linux/mips/bits/sigstack.h index a0f1ba67e..d2c855220 100644 --- a/libc/sysdeps/linux/mips/bits/sigstack.h +++ b/libc/sysdeps/linux/mips/bits/sigstack.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SIGNAL_H  # error "Never include this file directly.  Use <signal.h> instead" diff --git a/libc/sysdeps/linux/mips/bits/sigthread.h b/libc/sysdeps/linux/mips/bits/sigthread.h index 8ca688c59..b86e75f20 100644 --- a/libc/sysdeps/linux/mips/bits/sigthread.h +++ b/libc/sysdeps/linux/mips/bits/sigthread.h @@ -24,8 +24,6 @@  # error "Never include this file directly.  Use <pthread.h> instead"  #endif -__BEGIN_DECLS -  /* Functions for handling signals. */  /* Modify the signal mask for the calling thread.  The arguments have @@ -37,6 +35,4 @@ extern int pthread_sigmask (int __how,  /* Send signal SIGNO to the given thread. */  extern int pthread_kill (pthread_t __thread, int __signo) __THROW; -__END_DECLS -  #endif	/* bits/sigthread.h */ diff --git a/libc/sysdeps/linux/mips/bits/sockaddr.h b/libc/sysdeps/linux/mips/bits/sockaddr.h index f9ad29634..3e1d1312d 100644 --- a/libc/sysdeps/linux/mips/bits/sockaddr.h +++ b/libc/sysdeps/linux/mips/bits/sockaddr.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  /*   * Never include this file directly; use <sys/socket.h> instead. diff --git a/libc/sysdeps/linux/mips/bits/socket.h b/libc/sysdeps/linux/mips/bits/socket.h index f256a9b3e..a10c3a711 100644 --- a/libc/sysdeps/linux/mips/bits/socket.h +++ b/libc/sysdeps/linux/mips/bits/socket.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef __BITS_SOCKET_H  #define __BITS_SOCKET_H @@ -87,6 +87,8 @@ enum __socket_type  #define	PF_SNA		22	/* Linux SNA Project */  #define	PF_IRDA		23	/* IRDA sockets.  */  #define	PF_PPPOX	24	/* PPPoX sockets.  */ +#define	PF_WANPIPE	25	/* Wanpipe API sockets.  */ +#define	PF_BLUETOOTH	31	/* Bluetooth sockets.  */  #define	PF_MAX		32	/* For now..  */  /* Address families.  */ @@ -117,6 +119,8 @@ enum __socket_type  #define	AF_SNA		PF_SNA  #define	AF_IRDA		PF_IRDA  #define	AF_PPPOX	PF_PPPOX +#define	AF_WANPIPE	PF_WANPIPE +#define	AF_BLUETOOTH	PF_BLUETOOTH  #define	AF_MAX		PF_MAX  /* Socket level values.  Others are defined in the appropriate headers. @@ -199,8 +203,10 @@ enum  #define	MSG_RST		MSG_RST      MSG_ERRQUEUE	= 0x2000, /* Fetch message from error queue.  */  #define	MSG_ERRQUEUE	MSG_ERRQUEUE -    MSG_NOSIGNAL	= 0x4000  /* Do not generate SIGPIPE.  */ +    MSG_NOSIGNAL	= 0x4000, /* Do not generate SIGPIPE.  */  #define	MSG_NOSIGNAL	MSG_NOSIGNAL +    MSG_MORE		= 0x8000  /* Sender will send more.  */ +#define	MSG_MORE	MSG_MORE    }; @@ -227,14 +233,13 @@ struct cmsghdr  				   of cmsghdr structure.  */      int cmsg_level;		/* Originating protocol.  */      int cmsg_type;		/* Protocol specific type.  */ -#if 0 +#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L      __extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data.  */ -    /* XXX Perhaps this should be removed.  */  #endif    };  /* Ancillary data object manipulation macros.  */ -#if !defined __STRICT_ANSI__ && defined __GNUC__ && __GNUC__ >= 2 +#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L  # define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data)  #else  # define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1)) @@ -250,13 +255,13 @@ struct cmsghdr  #define CMSG_LEN(len)   (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len))  extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, -				      struct cmsghdr *__cmsg); +				      struct cmsghdr *__cmsg) __THROW;  #ifdef __USE_EXTERN_INLINES  # ifndef _EXTERN_INLINE  #  define _EXTERN_INLINE extern __inline  # endif  _EXTERN_INLINE struct cmsghdr * -__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) +__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __THROW  {    if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))      /* The kernel header does this so there may be a reason.  */ diff --git a/libc/sysdeps/linux/mips/bits/stat.h b/libc/sysdeps/linux/mips/bits/stat.h index 9210cae7f..c0e6984d1 100644 --- a/libc/sysdeps/linux/mips/bits/stat.h +++ b/libc/sysdeps/linux/mips/bits/stat.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_STAT_H  # error "Never include <bits/stat.h> directly; use <sys/stat.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/statfs.h b/libc/sysdeps/linux/mips/bits/statfs.h index 1099ae1f5..2f9bd54ed 100644 --- a/libc/sysdeps/linux/mips/bits/statfs.h +++ b/libc/sysdeps/linux/mips/bits/statfs.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_STATFS_H  # error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/statvfs.h b/libc/sysdeps/linux/mips/bits/statvfs.h index df283c7c7..32e03f31e 100644 --- a/libc/sysdeps/linux/mips/bits/statvfs.h +++ b/libc/sysdeps/linux/mips/bits/statvfs.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_STATVFS_H  # error "Never include <bits/statvfs.h> directly; use <sys/statvfs.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/stdio-lock.h b/libc/sysdeps/linux/mips/bits/stdio-lock.h index 42c219624..5b1c1b082 100644 --- a/libc/sysdeps/linux/mips/bits/stdio-lock.h +++ b/libc/sysdeps/linux/mips/bits/stdio-lock.h @@ -1,44 +1,48 @@ -/* Thread package specific definitions of stream lock type. -   Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. +/* Thread package specific definitions of stream lock type.  Generic version. +   Copyright (C) 2000, 2001 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 -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */ -#include <pthread.h> +#ifndef _BITS_STDIO_LOCK_H +#define _BITS_STDIO_LOCK_H 1 -typedef pthread_mutex_t _IO_lock_t; +#include <bits/libc-lock.h> + +__libc_lock_define_recursive (typedef, _IO_lock_t)  /* We need recursive (counting) mutexes.  */ -#define _IO_lock_initializer PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#ifdef _LIBC_LOCK_RECURSIVE_INITIALIZER +# define _IO_lock_initializer _LIBC_LOCK_RECURSIVE_INITIALIZER +#elif _IO_MTSAFE_IO + #error libio needs recursive mutexes for _IO_MTSAFE_IO +#endif + +#define _IO_lock_init(_name)	__libc_lock_init_recursive (_name) +#define _IO_lock_fini(_name)	__libc_lock_fini_recursive (_name) +#define _IO_lock_lock(_name)	__libc_lock_lock_recursive (_name) +#define _IO_lock_unlock(_name)	__libc_lock_unlock_recursive (_name)  #define _IO_cleanup_region_start(_fct, _fp) \ -  { struct _pthread_cleanup_buffer _buffer;				      \ -    int _avail = (((_fp)->_flags & _IO_USER_LOCK) == 0			      \ -		  && _pthread_cleanup_push_defer != NULL);		      \ -    if (_avail) {							      \ -      _pthread_cleanup_push_defer (&_buffer, (_fct), (_fp));		      \ -    } +  __libc_cleanup_region_start (((_fp)->_flags & _IO_USER_LOCK) == 0, _fct, _fp) +#define _IO_cleanup_region_start_noarg(_fct) \ +  __libc_cleanup_region_start (1, _fct, NULL)  #define _IO_cleanup_region_end(_doit) \ -     __libc_cleanup_region_end (_doit) -#define _IO_lock_init(_name) \ -     __libc_lock_init_recursive (_name) -#define _IO_lock_fini(_name) \ -     __libc_lock_fini_recursive (_name) -#define _IO_lock_lock(_name) \ -     __libc_lock_lock (_name) -#define _IO_lock_unlock(_name) \ -     __libc_lock_unlock (_name) +  __libc_cleanup_region_end (_doit) + + +#endif /* bits/stdio-lock.h */ diff --git a/libc/sysdeps/linux/mips/bits/stdio.h b/libc/sysdeps/linux/mips/bits/stdio.h index 0b4f61422..118118adc 100644 --- a/libc/sysdeps/linux/mips/bits/stdio.h +++ b/libc/sysdeps/linux/mips/bits/stdio.h @@ -1,20 +1,21 @@  /* Optimizing macros and inline functions for stdio functions.     Copyright (C) 1998, 2000, 2001 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 -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _STDIO_H  # error "Never include <bits/stdio.h> directly; use <stdio.h> instead." @@ -28,13 +29,6 @@  #ifdef __USE_EXTERN_INLINES -/* Since version 2.97 GCC knows about `fprintf' and can optimize certain -   cases.  Help gcc to optimize more code by mapping `printf' to the known -   `fprintf' function.  Unfortunately we have to use a macro.  */ -# if __GNUC_PREREQ (2,97) -#  define printf(fmt, args...) fprintf (stdout, fmt, ##args) -# endif -  /* Write formatted output to stdout from argument list ARG.  */  __STDIO_INLINE int  vprintf (__const char *__restrict __fmt, _G_va_list __arg) __THROW diff --git a/libc/sysdeps/linux/mips/bits/stdio_lim.h b/libc/sysdeps/linux/mips/bits/stdio_lim.h index e43bd6089..ea6d693f5 100644 --- a/libc/sysdeps/linux/mips/bits/stdio_lim.h +++ b/libc/sysdeps/linux/mips/bits/stdio_lim.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #if !defined _STDIO_H && !defined __need_FOPEN_MAX && !defined __need_IOV_MAX  # error "Never include <bits/stdio_lim.h> directly; use <stdio.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/string2.h b/libc/sysdeps/linux/mips/bits/string2.h index e25750c53..9e522cedf 100644 --- a/libc/sysdeps/linux/mips/bits/string2.h +++ b/libc/sysdeps/linux/mips/bits/string2.h @@ -4,19 +4,19 @@     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _STRING_H  # error "Never use <bits/string2.h> directly; include <string.h> instead." @@ -196,24 +196,28 @@ __STRING2_COPY_TYPE (8);  /* Copy N bytes from SRC to DEST, returning pointer to byte following the     last copied.  */  #ifdef __USE_GNU -# ifndef _HAVE_STRING_ARCH_mempcpy -#  define __mempcpy(dest, src, n) \ +# if !defined _HAVE_STRING_ARCH_mempcpy || defined _FORCE_INLINES +#  ifndef _HAVE_STRING_ARCH_mempcpy +#   define __mempcpy(dest, src, n) \    (__extension__ (__builtin_constant_p (src) && __builtin_constant_p (n)      \  		  && __string2_1bptr_p (src) && n <= 8			      \  		  ? __mempcpy_small (dest, __mempcpy_args (src), n)	      \  		  : __mempcpy (dest, src, n)))  /* In glibc we use this function frequently but for namespace reasons     we have to use the name `__mempcpy'.  */ -#  define mempcpy(dest, src, n) __mempcpy (dest, src, n) +#   define mempcpy(dest, src, n) __mempcpy (dest, src, n) +#  endif  #  if _STRING_ARCH_unaligned -#   define __mempcpy_args(src) \ +#   ifndef _FORCE_INLINES +#    define __mempcpy_args(src) \       ((__const char *) (src))[0], ((__const char *) (src))[2],		      \       ((__const char *) (src))[4], ((__const char *) (src))[6],		      \       __extension__ __STRING2_SMALL_GET16 (src, 0),			      \       __extension__ __STRING2_SMALL_GET16 (src, 4),			      \       __extension__ __STRING2_SMALL_GET32 (src, 0),			      \       __extension__ __STRING2_SMALL_GET32 (src, 4) +#   endif  __STRING_INLINE void *__mempcpy_small (void *, char, char, char, char,  				       __uint16_t, __uint16_t, __uint32_t,  				       __uint32_t, size_t); @@ -280,7 +284,8 @@ __mempcpy_small (void *__dest1,    return (void *) __u;  }  #  else -#   define __mempcpy_args(src) \ +#   ifndef _FORCE_INLINES +#    define __mempcpy_args(src) \       ((__const char *) (src))[0],					      \       __extension__ ((__STRING2_COPY_ARR2)				      \        { { ((__const char *) (src))[0], ((__const char *) (src))[1] } }),      \ @@ -308,6 +313,7 @@ __mempcpy_small (void *__dest1,  	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \  	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \  	  ((__const char *) (src))[6], ((__const char *) (src))[7] } }) +#   endif  __STRING_INLINE void *__mempcpy_small (void *, char, __STRING2_COPY_ARR2,  				       __STRING2_COPY_ARR3,  				       __STRING2_COPY_ARR4, @@ -377,21 +383,25 @@ extern void *__rawmemchr (const void *__s, int __c);  /* Copy SRC to DEST.  */ -#ifndef _HAVE_STRING_ARCH_strcpy -# define strcpy(dest, src) \ +#if !defined _HAVE_STRING_ARCH_strcpy || defined _FORCE_INLINES +# ifndef _HAVE_STRING_ARCH_strcpy +#  define strcpy(dest, src) \    (__extension__ (__builtin_constant_p (src)				      \  		  ? (__string2_1bptr_p (src) && strlen (src) + 1 <= 8	      \  		     ? __strcpy_small (dest, __strcpy_args (src),	      \  				       strlen (src) + 1)		      \  		     : (char *) memcpy (dest, src, strlen (src) + 1))	      \  		  : strcpy (dest, src))) +# endif  # if _STRING_ARCH_unaligned -#  define __strcpy_args(src) \ +#  ifndef _FORCE_INLINES +#   define __strcpy_args(src) \       __extension__ __STRING2_SMALL_GET16 (src, 0),			      \       __extension__ __STRING2_SMALL_GET16 (src, 4),			      \       __extension__ __STRING2_SMALL_GET32 (src, 0),			      \       __extension__ __STRING2_SMALL_GET32 (src, 4) +#  endif  __STRING_INLINE char *__strcpy_small (char *, __uint16_t, __uint16_t,  				      __uint32_t, __uint32_t, size_t);  __STRING_INLINE char * @@ -447,7 +457,8 @@ __strcpy_small (char *__dest,    return __dest;  }  # else -#  define __strcpy_args(src) \ +#  ifndef _FORCE_INLINES +#   define __strcpy_args(src) \       __extension__ ((__STRING2_COPY_ARR2)				      \        { { ((__const char *) (src))[0], '\0' } }),			      \       __extension__ ((__STRING2_COPY_ARR3)				      \ @@ -474,6 +485,7 @@ __strcpy_small (char *__dest,  	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \  	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \  	  ((__const char *) (src))[6], '\0' } }) +#  endif  __STRING_INLINE char *__strcpy_small (char *, __STRING2_COPY_ARR2,  				      __STRING2_COPY_ARR3,  				      __STRING2_COPY_ARR4, @@ -533,8 +545,9 @@ __strcpy_small (char *__dest,  /* Copy SRC to DEST, returning pointer to final NUL byte.  */  #ifdef __USE_GNU -# ifndef _HAVE_STRING_ARCH_stpcpy -#  define __stpcpy(dest, src) \ +# if !defined _HAVE_STRING_ARCH_stpcpy || defined _FORCE_INLINES +#  ifndef _HAVE_STRING_ARCH_stpcpy +#   define __stpcpy(dest, src) \    (__extension__ (__builtin_constant_p (src)				      \  		  ? (__string2_1bptr_p (src) && strlen (src) + 1 <= 8	      \  		     ? __stpcpy_small (dest, __stpcpy_args (src),	      \ @@ -543,14 +556,17 @@ __strcpy_small (char *__dest,  		  : __stpcpy (dest, src)))  /* In glibc we use this function frequently but for namespace reasons     we have to use the name `__stpcpy'.  */ -#  define stpcpy(dest, src) __stpcpy (dest, src) +#   define stpcpy(dest, src) __stpcpy (dest, src) +#  endif  #  if _STRING_ARCH_unaligned -#   define __stpcpy_args(src) \ +#   ifndef _FORCE_INLINES +#    define __stpcpy_args(src) \       __extension__ __STRING2_SMALL_GET16 (src, 0),			      \       __extension__ __STRING2_SMALL_GET16 (src, 4),			      \       __extension__ __STRING2_SMALL_GET32 (src, 0),			      \       __extension__ __STRING2_SMALL_GET32 (src, 4) +#   endif  __STRING_INLINE char *__stpcpy_small (char *, __uint16_t, __uint16_t,  				      __uint32_t, __uint32_t, size_t);  __STRING_INLINE char * @@ -611,7 +627,8 @@ __stpcpy_small (char *__dest,    return &__u->__c;  }  #  else -#  define __stpcpy_args(src) \ +#   ifndef _FORCE_INLINES +#    define __stpcpy_args(src) \       __extension__ ((__STRING2_COPY_ARR2)				      \        { { ((__const char *) (src))[0], '\0' } }),			      \       __extension__ ((__STRING2_COPY_ARR3)				      \ @@ -638,6 +655,7 @@ __stpcpy_small (char *__dest,  	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \  	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \  	  ((__const char *) (src))[6], '\0' } }) +#   endif  __STRING_INLINE char *__stpcpy_small (char *, __STRING2_COPY_ARR2,  				      __STRING2_COPY_ARR3,  				      __STRING2_COPY_ARR4, @@ -854,8 +872,9 @@ __stpcpy_small (char *__dest,  /* Return the length of the initial segment of S which     consists entirely of characters not in REJECT.  */ -#ifndef _HAVE_STRING_ARCH_strcspn -# define strcspn(s, reject) \ +#if !defined _HAVE_STRING_ARCH_strcspn || defined _FORCE_INLINES +# ifndef _HAVE_STRING_ARCH_strcspn +#  define strcspn(s, reject) \    __extension__								      \    ({ char __r0, __r1, __r2;						      \       (__builtin_constant_p (reject) && __string2_1bptr_p (reject)	      \ @@ -869,10 +888,11 @@ __stpcpy_small (char *__dest,  		  ? __strcspn_c3 (s, __r0, __r1, __r2)			      \  		  : strcspn (s, reject)))))				      \  		  : strcspn (s, reject)); }) +# endif -__STRING_INLINE size_t __strcspn_c1 (__const char *__s, char __reject); +__STRING_INLINE size_t __strcspn_c1 (__const char *__s, int __reject);  __STRING_INLINE size_t -__strcspn_c1 (__const char *__s, char __reject) +__strcspn_c1 (__const char *__s, int __reject)  {    register size_t __result = 0;    while (__s[__result] != '\0' && __s[__result] != __reject) @@ -880,10 +900,10 @@ __strcspn_c1 (__const char *__s, char __reject)    return __result;  } -__STRING_INLINE size_t __strcspn_c2 (__const char *__s, char __reject1, -				     char __reject2); +__STRING_INLINE size_t __strcspn_c2 (__const char *__s, int __reject1, +				     int __reject2);  __STRING_INLINE size_t -__strcspn_c2 (__const char *__s, char __reject1, char __reject2) +__strcspn_c2 (__const char *__s, int __reject1, int __reject2)  {    register size_t __result = 0;    while (__s[__result] != '\0' && __s[__result] != __reject1 @@ -892,11 +912,11 @@ __strcspn_c2 (__const char *__s, char __reject1, char __reject2)    return __result;  } -__STRING_INLINE size_t __strcspn_c3 (__const char *__s, char __reject1, -				     char __reject2, char __reject3); +__STRING_INLINE size_t __strcspn_c3 (__const char *__s, int __reject1, +				     int __reject2, int __reject3);  __STRING_INLINE size_t -__strcspn_c3 (__const char *__s, char __reject1, char __reject2, -	      char __reject3) +__strcspn_c3 (__const char *__s, int __reject1, int __reject2, +	      int __reject3)  {    register size_t __result = 0;    while (__s[__result] != '\0' && __s[__result] != __reject1 @@ -909,8 +929,9 @@ __strcspn_c3 (__const char *__s, char __reject1, char __reject2,  /* Return the length of the initial segment of S which     consists entirely of characters in ACCEPT.  */ -#ifndef _HAVE_STRING_ARCH_strspn -# define strspn(s, accept) \ +#if !defined _HAVE_STRING_ARCH_strspn || defined _FORCE_INLINES +# ifndef _HAVE_STRING_ARCH_strspn +#  define strspn(s, accept) \    __extension__								      \    ({ char __a0, __a1, __a2;						      \       (__builtin_constant_p (accept) && __string2_1bptr_p (accept)	      \ @@ -924,10 +945,11 @@ __strcspn_c3 (__const char *__s, char __reject1, char __reject2,  		  ? __strspn_c3 (s, __a0, __a1, __a2)			      \  		  : strspn (s, accept)))))				      \        : strspn (s, accept)); }) +# endif -__STRING_INLINE size_t __strspn_c1 (__const char *__s, char __accept); +__STRING_INLINE size_t __strspn_c1 (__const char *__s, int __accept);  __STRING_INLINE size_t -__strspn_c1 (__const char *__s, char __accept) +__strspn_c1 (__const char *__s, int __accept)  {    register size_t __result = 0;    /* Please note that __accept never can be '\0'.  */ @@ -936,10 +958,10 @@ __strspn_c1 (__const char *__s, char __accept)    return __result;  } -__STRING_INLINE size_t __strspn_c2 (__const char *__s, char __accept1, -				    char __accept2); +__STRING_INLINE size_t __strspn_c2 (__const char *__s, int __accept1, +				    int __accept2);  __STRING_INLINE size_t -__strspn_c2 (__const char *__s, char __accept1, char __accept2) +__strspn_c2 (__const char *__s, int __accept1, int __accept2)  {    register size_t __result = 0;    /* Please note that __accept1 and __accept2 never can be '\0'.  */ @@ -948,10 +970,10 @@ __strspn_c2 (__const char *__s, char __accept1, char __accept2)    return __result;  } -__STRING_INLINE size_t __strspn_c3 (__const char *__s, char __accept1, -				    char __accept2, char __accept3); +__STRING_INLINE size_t __strspn_c3 (__const char *__s, int __accept1, +				    int __accept2, int __accept3);  __STRING_INLINE size_t -__strspn_c3 (__const char *__s, char __accept1, char __accept2, char __accept3) +__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)  {    register size_t __result = 0;    /* Please note that __accept1 to __accept3 never can be '\0'.  */ @@ -964,8 +986,9 @@ __strspn_c3 (__const char *__s, char __accept1, char __accept2, char __accept3)  /* Find the first occurrence in S of any character in ACCEPT.  */ -#ifndef _HAVE_STRING_ARCH_strpbrk -# define strpbrk(s, accept) \ +#if !defined _HAVE_STRING_ARCH_strpbrk || defined _FORCE_INLINES +# ifndef _HAVE_STRING_ARCH_strpbrk +#  define strpbrk(s, accept) \    __extension__								      \    ({ char __a0, __a1, __a2;						      \       (__builtin_constant_p (accept) && __string2_1bptr_p (accept)	      \ @@ -979,6 +1002,7 @@ __strspn_c3 (__const char *__s, char __accept1, char __accept2, char __accept3)  		  ? __strpbrk_c3 (s, __a0, __a1, __a2)			      \  		  : strpbrk (s, accept)))))				      \        : strpbrk (s, accept)); }) +# endif  __STRING_INLINE char *__strpbrk_c2 (__const char *__s, int __accept1,  				     int __accept2); @@ -1021,26 +1045,16 @@ __strpbrk_c3 (__const char *__s, int __accept1, int __accept2,  #endif -#if defined __USE_GNU && !defined _FORCE_INLINES -# ifndef _HAVE_STRING_ARCH_strnlen -__STRING_INLINE size_t -strnlen (__const char *__string, size_t __maxlen) -{ -  __const char *__end = (__const char *) memchr (__string, '\0', __maxlen); -  return __end ? (size_t) (__end - __string) : __maxlen; -} -# endif -#endif - - -#ifndef _HAVE_STRING_ARCH_strtok_r -# define __strtok_r(s, sep, nextp) \ +#if !defined _HAVE_STRING_ARCH_strtok_r || defined _FORCE_INLINES +# ifndef _HAVE_STRING_ARCH_strtok_r +#  define __strtok_r(s, sep, nextp) \    (__extension__ (__builtin_constant_p (sep) && __string2_1bptr_p (sep)	      \  		  ? (((__const char *) (sep))[0] != '\0'		      \  		     && ((__const char *) (sep))[1] == '\0'		      \  		     ? __strtok_r_1c (s, ((__const char *) (sep))[0], nextp)  \  		     : __strtok_r (s, sep, nextp))			      \  		  : __strtok_r (s, sep, nextp))) +# endif  __STRING_INLINE char *__strtok_r_1c (char *__s, char __sep, char **__nextp);  __STRING_INLINE char * @@ -1051,32 +1065,31 @@ __strtok_r_1c (char *__s, char __sep, char **__nextp)      __s = *__nextp;    while (*__s == __sep)      ++__s; -  if (*__s == '\0') -    __result = NULL; -  else +  __result = NULL; +  if (*__s != '\0')      { -      __result = __s; -      while (*__s != '\0' && *__s != __sep) -	++__s; -      if (*__s == '\0') -	*__nextp = __s; -      else -	{ -	  *__s = '\0'; -	  *__nextp = __s + 1; -	} +      __result = __s++; +      while (*__s != '\0') +	if (*__s++ == __sep) +	  { +	    __s[-1] = '\0'; +	    break; +	  } +      *__nextp = __s;      }    return __result;  }  # if defined __USE_POSIX || defined __USE_MISC -#  define strtok_r(s, sep, nextp) __strtok_r ((s), (sep), (nextp)) +#  define strtok_r(s, sep, nextp) __strtok_r (s, sep, nextp)  # endif  #endif -#ifndef _HAVE_STRING_ARCH_strsep +#if !defined _HAVE_STRING_ARCH_strsep || defined _FORCE_INLINES +# ifndef _HAVE_STRING_ARCH_strsep -# define __strsep(s, reject) \ +extern char *__strsep_g (char **__stringp, __const char *__delim); +#  define __strsep(s, reject) \    __extension__								      \    ({ char __r0, __r1, __r2;						      \       (__builtin_constant_p (reject) && __string2_1bptr_p (reject)	      \ @@ -1091,21 +1104,15 @@ __strtok_r_1c (char *__s, char __sep, char **__nextp)  	       ? __strsep_3c (s, __r0, __r1, __r2)			      \  	       : __strsep_g (s, reject))))				      \        : __strsep_g (s, reject)); }) +# endif  __STRING_INLINE char *__strsep_1c (char **__s, char __reject);  __STRING_INLINE char *  __strsep_1c (char **__s, char __reject)  {    register char *__retval = *__s; -  if (__retval == NULL) -    return *__s = NULL; -  if (*__retval == __reject) +  if (__retval != NULL && (*__s = strchr (__retval, __reject)) != NULL)      *(*__s)++ = '\0'; -  else -    if ((*__s = strchr (__retval, __reject)) != NULL) -      *(*__s)++ = '\0'; -    else -      *__s = NULL;    return __retval;  } @@ -1114,22 +1121,24 @@ __STRING_INLINE char *  __strsep_2c (char **__s, char __reject1, char __reject2)  {    register char *__retval = *__s; -  if (__retval == NULL) -    return *__s = NULL; -  if (*__retval == __reject1 || *__retval == __reject2) -    *(*__s)++ = '\0'; -  else +  if (__retval != NULL)      {        register char *__cp = __retval; -      while (*__cp != '\0' && *__cp != __reject1 && *__cp != __reject2) -	++__cp; -      if (*__cp != '\0') +      while (1)  	{ -	  *__s = __cp; -	  *(*__s)++ = '\0'; +	  if (*__cp == '\0') +	    { +	      __cp = NULL; +	  break; +	    } +	  if (*__cp == __reject1 || *__cp == __reject2) +	    { +	      *__cp++ = '\0'; +	      break; +	    } +	  ++__cp;  	} -      else -	*__s = NULL; +      *__s = __cp;      }    return __retval;  } @@ -1140,41 +1149,29 @@ __STRING_INLINE char *  __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)  {    register char *__retval = *__s; -  if (__retval == NULL) -    return *__s = NULL; -  if (*__retval == __reject1 || *__retval == __reject2 -      || *__retval == __reject3) -    *(*__s)++ = '\0'; -  else +  if (__retval != NULL)      {        register char *__cp = __retval; -      while (*__cp != '\0' && *__cp != __reject1 && *__cp != __reject2 -	     && *__cp != __reject3) -	++__cp; -      if (*__cp != '\0') +      while (1)  	{ -	  *__s = __cp; -	  *(*__s)++ = '\0'; +	  if (*__cp == '\0') +	    { +	      __cp = NULL; +	  break; +	    } +	  if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) +	    { +	      *__cp++ = '\0'; +	      break; +	    } +	  ++__cp;  	} -      else -	*__s = NULL; +      *__s = __cp;      }    return __retval;  } - -__STRING_INLINE char *__strsep_g (char **__s, __const char *__reject); -__STRING_INLINE char * -__strsep_g (char **__s, __const char *__reject) -{ -  register char *__retval = *__s; -  if (__retval == NULL) -    return NULL; -  if ((*__s = strpbrk (__retval, __reject)) != NULL) -    *(*__s)++ = '\0'; -  return __retval; -}  # ifdef __USE_BSD -#  define strsep(s, reject) __strsep ((s), (reject)) +#  define strsep(s, reject) __strsep (s, reject)  # endif  #endif @@ -1228,10 +1225,10 @@ extern char *__strndup (__const char *__string, size_t __n)  							  __len - 1);	      \  			    }						      \  			  __retval; }))					      \ -		  : __strndup ((s), (n)))) +		  : __strndup (s, n)))  #  ifdef __USE_GNU -#   define strndup(s, n) __strndup ((s), (n)) +#   define strndup(s, n) __strndup (s, n)  #  endif  # endif diff --git a/libc/sysdeps/linux/mips/bits/stropts.h b/libc/sysdeps/linux/mips/bits/stropts.h index 62acfac34..21538c31d 100644 --- a/libc/sysdeps/linux/mips/bits/stropts.h +++ b/libc/sysdeps/linux/mips/bits/stropts.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _BITS_STROPTS_H  #define _BITS_STROPTS_H	1 diff --git a/libc/sysdeps/linux/mips/bits/termios.h b/libc/sysdeps/linux/mips/bits/termios.h index f7abe474d..546faa020 100644 --- a/libc/sysdeps/linux/mips/bits/termios.h +++ b/libc/sysdeps/linux/mips/bits/termios.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _TERMIOS_H  # error "Never include <bits/termios.h> directly; use <termios.h> instead." @@ -25,40 +25,6 @@ typedef unsigned char	cc_t;  typedef unsigned int	speed_t;  typedef unsigned int	tcflag_t; - -#ifdef __USE_BSD - -struct sgttyb -  { -    char sg_ispeed; -    char sg_ospeed; -    char sg_erase; -    char sg_kill; -    int	sg_flags;	/* SGI special - int, not short */ -  }; - -struct tchars -  { -    char t_intrc; -    char t_quitc; -    char t_startc; -    char t_stopc; -    char t_eofc; -    char t_brkc; -  }; - -struct ltchars -  { -    char t_suspc;		/* stop process signal */ -    char t_dsuspc;		/* delayed stop process signal */ -    char t_rprntc;		/* reprint line */ -    char t_flushc;		/* flush output (toggles) */ -    char t_werasc;		/* word erase */ -    char t_lnextc;		/* literal next character */ -  }; - -#endif /* defined(__BSD) */ -  #define NCCS 32  struct termios    { @@ -66,44 +32,31 @@ struct termios      tcflag_t c_oflag;		/* output mode flags */      tcflag_t c_cflag;		/* control mode flags */      tcflag_t c_lflag;		/* local mode flags */ -    cc_t c_line;			/* line discipline */ +    cc_t c_line;		/* line discipline */      cc_t c_cc[NCCS];		/* control characters */    };  /* c_cc characters */ -#define VINTR		 0		/* Interrupt character [ISIG].  */ -#define VQUIT		 1		/* Quit character [ISIG].  */ -#define VERASE		 2		/* Erase character [ICANON].  */ -#define VKILL		 3		/* Kill-line character [ICANON].  */ -#define VMIN		 4		/* Minimum number of bytes read at once [!ICANON].  */ -#define VTIME		 5		/* Time-out value (tenths of a second) [!ICANON].  */ -#ifdef __USE_BSD -# define VEOL2		 6		/* Second EOL character [ICANON].  */ -/* The next two are guesses ... */ -# define VSWTC		 7		/* ??? */ -#endif +#define VINTR		0	/* Interrupt character [ISIG].  */ +#define VQUIT		1	/* Quit character [ISIG].  */ +#define VERASE		2	/* Erase character [ICANON].  */ +#define VKILL		3	/* Kill-line character [ICANON].  */ +#define VMIN		4	/* Minimum number of bytes read at once [!ICANON].  */ +#define VTIME		5	/* Time-out value (tenths of a second) [!ICANON].  */ +#define VEOL2		6	/* Second EOL character [ICANON].  */ +#define VSWTC		7  #define VSWTCH		VSWTC -#define VSTART		 8		/* Start (X-ON) character [IXON, IXOFF].  */ -#define VSTOP		 9		/* Stop (X-OFF) character [IXON, IXOFF].  */ -#define VSUSP		10		/* Suspend character [ISIG].  */ -#if 0 -/* - * VDSUSP is not supported - */ -#if defined __USE_BSD -# define VDSUSP		11		/* Delayed suspend character [ISIG].  */ -#endif -#endif -#ifdef __USE_BSD -# define VREPRINT	12		/* Reprint-line character [ICANON].  */ -#endif -#ifdef __USE_BSD -# define VDISCARD	13		/* Discard character [IEXTEN].  */ -# define VWERASE	14		/* Word-erase character [ICANON].  */ -# define VLNEXT		15		/* Literal-next character [IEXTEN].  */ -#endif -#define VEOF		16		/* End-of-file character [ICANON].  */ -#define VEOL		17		/* End-of-line character [ICANON].  */ +#define VSTART		8	/* Start (X-ON) character [IXON, IXOFF].  */ +#define VSTOP		9	/* Stop (X-OFF) character [IXON, IXOFF].  */ +#define VSUSP		10	/* Suspend character [ISIG].  */ +				/* VDSUSP is not supported on Linux. */ +/* #define VDSUSP	11	/ * Delayed suspend character [ISIG].  */ +#define VREPRINT	12	/* Reprint-line character [ICANON].  */ +#define VDISCARD	13	/* Discard character [IEXTEN].  */ +#define VWERASE		14	/* Word-erase character [ICANON].  */ +#define VLNEXT		15	/* Literal-next character [IEXTEN].  */ +#define VEOF		16	/* End-of-file character [ICANON].  */ +#define VEOL		17	/* End-of-line character [ICANON].  */  /* c_iflag bits */  #define IGNBRK	0000001		/* Ignore break condition.  */ @@ -115,28 +68,22 @@ struct termios  #define INLCR	0000100		/* Map NL to CR on input.  */  #define IGNCR	0000200		/* Ignore CR.  */  #define ICRNL	0000400		/* Map CR to NL on input.  */ -#ifdef __USE_BSD -# define IUCLC	0001000		/* Map upper case to lower case on input.  */ -#endif +#define IUCLC	0001000		/* Map upper case to lower case on input.  */  #define IXON	0002000		/* Enable start/stop output control.  */ -#ifdef __USE_BSD -# define IXANY	0004000		/* Any character will restart after stop.  */ -#endif +#define IXANY	0004000		/* Any character will restart after stop.  */  #define IXOFF	0010000		/* Enable start/stop input control.  */ -#ifdef __USE_BSD -# define IMAXBEL 0020000	/* Ring bell when input queue is full.  */ -#endif +#define IMAXBEL 0020000		/* Ring bell when input queue is full.  */  /* c_oflag bits */  #define OPOST	0000001		/* Perform output processing.  */ -#ifdef __USE_BSD -# define OLCUC	0000002		/* Map lower case to upper case on output.  */ -# define ONLCR	0000004		/* Map NL to CR-NL on output.  */ -# define OCRNL	0000010 -# define ONOCR	0000020 -# define ONLRET	0000040 -# define OFILL	0000100 -# define OFDEL	0000200 +#define OLCUC	0000002		/* Map lower case to upper case on output.  */ +#define ONLCR	0000004		/* Map NL to CR-NL on output.  */ +#define OCRNL	0000010 +#define ONOCR	0000020 +#define ONLRET	0000040 +#define OFILL	0000100 +#define OFDEL	0000200 +#if defined __USE_MISC || defined __USE_XOPEN  # define NLDLY	0000400  # define   NL0	0000000  # define   NL1	0000400 @@ -150,24 +97,26 @@ struct termios  # define   TAB1	0004000  # define   TAB2	0010000  # define   TAB3	0014000 -# define  XTABS	0014000  # define BSDLY	0020000  # define   BS0	0000000  # define   BS1	0020000 -# define VTDLY	0040000 -# define   VT0	0000000 -# define   VT1	0040000  # define FFDLY	0100000  # define   FF0	0000000  # define   FF1	0100000 -/* -#define PAGEOUT ??? -#define WRAP    ??? - */ +#endif + +#define VTDLY	0040000 +#define   VT0	0000000 +#define   VT1	0040000 + +#ifdef __USE_MISC +# define XTABS  0014000  #endif  /* c_cflag bit meaning */ -#define CBAUD	0010017 +#ifdef __USE_MISC +# define CBAUD	0010017 +#endif  #define  B0	0000000		/* hang up */  #define  B50	0000001  #define  B75	0000002 @@ -184,8 +133,10 @@ struct termios  #define  B9600	0000015  #define  B19200	0000016  #define  B38400	0000017 -#define EXTA B19200 -#define EXTB B38400 +#ifdef __USE_MISC +# define EXTA B19200 +# define EXTB B38400 +#endif  #define CSIZE	0000060		/* Number of bits per byte (mask).  */  #define   CS5	0000000		/* 5 bits per byte.  */  #define   CS6	0000020		/* 6 bits per byte.  */ @@ -197,23 +148,26 @@ struct termios  #define PARODD	0001000		/* Odd parity instead of even.  */  #define HUPCL	0002000		/* Hang up on last close.  */  #define CLOCAL	0004000		/* Ignore modem status lines.  */ -#ifdef __USE_BSD +#ifdef __USE_MISC  # define CBAUDEX   0010000 -# define  B57600   0010001 -# define  B115200  0010002 -# define  B230400  0010003 -# define  B460800  0010004 -# define  B500000  0010005 -# define  B576000  0010006 -# define  B921600  0010007 -# define  B1000000 0010010 -# define  B1152000 0010011 -# define  B1500000 0010012 -# define  B2000000 0010013 -# define  B2500000 0010014 -# define  B3000000 0010015 -# define  B3500000 0010016 -# define  B4000000 0010017 +#endif +#define  B57600   0010001 +#define  B115200  0010002 +#define  B230400  0010003 +#define  B460800  0010004 +#define  B500000  0010005 +#define  B576000  0010006 +#define  B921600  0010007 +#define  B1000000 0010010 +#define  B1152000 0010011 +#define  B1500000 0010012 +#define  B2000000 0010013 +#define  B2500000 0010014 +#define  B3000000 0010015 +#define  B3500000 0010016 +#define  B4000000 0010017 +#define __MAX_BAUD B4000000 +#ifdef __USE_MISC  # define CIBAUD	  002003600000	/* input baud rate (not used) */  # define CRTSCTS  020000000000		/* flow control */  #endif @@ -221,20 +175,20 @@ struct termios  /* c_lflag bits */  #define ISIG	0000001		/* Enable signals.  */  #define ICANON	0000002		/* Do erase and kill processing.  */ -#define XCASE	0000004 +#if defined __USE_MISC || defined __USE_XOPEN +# define XCASE	0000004 +#endif  #define ECHO	0000010		/* Enable echo.  */  #define ECHOE	0000020		/* Visual erase for ERASE.  */  #define ECHOK	0000040		/* Echo NL after KILL.  */  #define ECHONL	0000100		/* Echo NL even if ECHO is off.  */  #define NOFLSH	0000200		/* Disable flush after interrupt.  */  #define IEXTEN	0000400		/* Enable DISCARD and LNEXT.  */ -#ifdef __USE_BSD +#ifdef __USE_MISC  # define ECHOCTL 0001000	/* Echo control characters as ^X.  */  # define ECHOPRT 0002000	/* Hardcopy visual erase.  */  # define ECHOKE	 0004000	/* Visual erase for KILL.  */ -#endif -#define FLUSHO	0020000 -#ifdef __USE_BSD +# define FLUSHO	0020000  # define PENDIN	0040000		/* Retype pending input (state).  */  #endif  #define TOSTOP	0100000		/* Send SIGTTOU for background output.  */ diff --git a/libc/sysdeps/linux/mips/bits/time.h b/libc/sysdeps/linux/mips/bits/time.h index c70f8347f..2a6873f00 100644 --- a/libc/sysdeps/linux/mips/bits/time.h +++ b/libc/sysdeps/linux/mips/bits/time.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  /*   * Never include this file directly; use <time.h> instead. diff --git a/libc/sysdeps/linux/mips/bits/types.h b/libc/sysdeps/linux/mips/bits/types.h index 1e6634b99..141f0b29e 100644 --- a/libc/sysdeps/linux/mips/bits/types.h +++ b/libc/sysdeps/linux/mips/bits/types.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  /*   * Never include this file directly; use <sys/types.h> instead. @@ -136,25 +136,6 @@ typedef int __intptr_t;  /* Duplicate info from sys/socket.h.  */  typedef unsigned int __socklen_t; -/* --- */ -/* Added by ds */ -/* I don't understand why these weren't here... */ -#define __NFDBITS	(8 * sizeof(__fd_mask)) -#define __FDELT(d)	((d) / __NFDBITS) -#define __FDMASK(d)	((__fd_mask) 1 << ((d) % __NFDBITS)) - -typedef unsigned long __fd_mask; -typedef struct -  { -#ifdef __USE_XOPEN -    __fd_mask fds_bits[__FD_SETSIZE / __NFDBITS]; -#define __FDS_BITS(set) ((set)->fds_bits) -#else -    __fd_mask __fds_bits[__FD_SETSIZE / __NFDBITS]; -#define __FDS_BITS(set) ((set)->__fds_bits) -#endif -  } __fd_set; -/* --- */  /* Now add the thread types.  */  #if defined __USE_POSIX199506 || defined __USE_UNIX98 diff --git a/libc/sysdeps/linux/mips/bits/uio.h b/libc/sysdeps/linux/mips/bits/uio.h index 38ac17baa..84b4805fe 100644 --- a/libc/sysdeps/linux/mips/bits/uio.h +++ b/libc/sysdeps/linux/mips/bits/uio.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_UIO_H  # error "Never include <bits/uio.h> directly; use <sys/uio.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/ustat.h b/libc/sysdeps/linux/mips/bits/ustat.h index 526069a7f..aeafc22a5 100644 --- a/libc/sysdeps/linux/mips/bits/ustat.h +++ b/libc/sysdeps/linux/mips/bits/ustat.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #include <sys/types.h> diff --git a/libc/sysdeps/linux/mips/bits/utmp.h b/libc/sysdeps/linux/mips/bits/utmp.h index d07486e9c..2ed29bbb4 100644 --- a/libc/sysdeps/linux/mips/bits/utmp.h +++ b/libc/sysdeps/linux/mips/bits/utmp.h @@ -1,20 +1,21 @@  /* The `struct utmp' type, describing entries in the utmp file.  GNU version.     Copyright (C) 1993, 1996, 1997, 1998, 1999 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 -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _UTMP_H  # error "Never include <bits/utmp.h> directly; use <utmp.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/utmpx.h b/libc/sysdeps/linux/mips/bits/utmpx.h index eaaac39d9..99735370b 100644 --- a/libc/sysdeps/linux/mips/bits/utmpx.h +++ b/libc/sysdeps/linux/mips/bits/utmpx.h @@ -1,20 +1,21 @@  /* Structures and definitions for the user accounting database.  GNU version.     Copyright (C) 1997, 1998, 2000, 2001 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 -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _UTMPX_H  # error "Never include <bits/utmpx.h> directly; use <utmpx.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/utsname.h b/libc/sysdeps/linux/mips/bits/utsname.h index 8f4bf16f5..35e71e3ba 100644 --- a/libc/sysdeps/linux/mips/bits/utsname.h +++ b/libc/sysdeps/linux/mips/bits/utsname.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _SYS_UTSNAME_H  # error "Never include <bits/utsname.h> directly; use <sys/utsname.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/waitflags.h b/libc/sysdeps/linux/mips/bits/waitflags.h index b854dd333..1303c6c36 100644 --- a/libc/sysdeps/linux/mips/bits/waitflags.h +++ b/libc/sysdeps/linux/mips/bits/waitflags.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #if !defined _SYS_WAIT_H && !defined _STDLIB_H  # error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/waitstatus.h b/libc/sysdeps/linux/mips/bits/waitstatus.h index 1736717e5..982c9dbb2 100644 --- a/libc/sysdeps/linux/mips/bits/waitstatus.h +++ b/libc/sysdeps/linux/mips/bits/waitstatus.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #if !defined _SYS_WAIT_H && !defined _STDLIB_H  # error "Never include <bits/waitstatus.h> directly; use <sys/wait.h> instead." diff --git a/libc/sysdeps/linux/mips/bits/wchar.h b/libc/sysdeps/linux/mips/bits/wchar.h index 76b0f310f..ef1f56363 100644 --- a/libc/sysdeps/linux/mips/bits/wchar.h +++ b/libc/sysdeps/linux/mips/bits/wchar.h @@ -3,19 +3,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #ifndef _BITS_WCHAR_H  #define _BITS_WCHAR_H	1 diff --git a/libc/sysdeps/linux/mips/bits/wordsize.h b/libc/sysdeps/linux/mips/bits/wordsize.h index 62dad0c71..ba643b60a 100644 --- a/libc/sysdeps/linux/mips/bits/wordsize.h +++ b/libc/sysdeps/linux/mips/bits/wordsize.h @@ -2,18 +2,18 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  #define __WORDSIZE	32 diff --git a/libc/sysdeps/linux/mips/bits/xopen_lim.h b/libc/sysdeps/linux/mips/bits/xopen_lim.h index f90e3ed27..7f3611860 100644 --- a/libc/sysdeps/linux/mips/bits/xopen_lim.h +++ b/libc/sysdeps/linux/mips/bits/xopen_lim.h @@ -2,19 +2,19 @@     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. +   modify it under the terms of the GNU Lesser General Public +   License as published by the Free Software Foundation; either +   version 2.1 of the License, or (at your option) any later version.     The GNU C Library is distributed in the hope that it will be useful,     but WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. +   Lesser General Public License for more details. -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +   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.  */  /*   * Never include this file directly; use <limits.h> instead.  | 
