[PATCH] [RTEMS] Move header files

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Jul 27 09:31:26 UTC 2015


During libgcc build the first include search path for <...> is
"../newlib/libc/sys/rtems/include".  Move all RTEMS specific header
files to "libc/sys/rtems/include" so that they can be found.  Later
during libc build the header files in the previous location were somehow
present, but for libgcc build they were invisible.  This change is
necessary to use <pthread.h> for the GCC thread model implementation.

newlib/ChangeLog
2015-07-27  Sebastian Huber  <sebastian.huber at embedded-brains.de>

	libc/sys/rtems/machine/_types.h: Move to ...
	libc/sys/rtems/include/machine/_types.h: ... here.
	libc/sys/rtems/machine/limits.h: Move to ...
	libc/sys/rtems/include/machine/limits.h: ... here.
	libc/sys/rtems/machine/param.h: Move to ...
	libc/sys/rtems/include/machine/param.h: ... here.
	libc/sys/rtems/sys/cpuset.h: Move to ...
	libc/sys/rtems/include/sys/cpuset.h: ... here.
	libc/sys/rtems/sys/dirent.h: Move to ...
	libc/sys/rtems/include/sys/dirent.h: ... here.
	libc/sys/rtems/sys/param.h: Move to ...
	libc/sys/rtems/include/sys/param.h: ... here.
	libc/sys/rtems/sys/syslimits.h: Move to ...
	libc/sys/rtems/include/sys/syslimits.h: ... here.
	libc/sys/rtems/sys/utime.h: Move to ...
	libc/sys/rtems/include/sys/utime.h: ... here.
---
 newlib/libc/sys/rtems/include/machine/_types.h |  38 +++
 newlib/libc/sys/rtems/include/machine/limits.h |   6 +
 newlib/libc/sys/rtems/include/machine/param.h  | 101 ++++++++
 newlib/libc/sys/rtems/include/sys/cpuset.h     | 311 +++++++++++++++++++++++++
 newlib/libc/sys/rtems/include/sys/dirent.h     |  64 +++++
 newlib/libc/sys/rtems/include/sys/param.h      | 217 +++++++++++++++++
 newlib/libc/sys/rtems/include/sys/syslimits.h  |  64 +++++
 newlib/libc/sys/rtems/include/sys/utime.h      |  34 +++
 newlib/libc/sys/rtems/machine/_types.h         |  38 ---
 newlib/libc/sys/rtems/machine/limits.h         |   6 -
 newlib/libc/sys/rtems/machine/param.h          | 101 --------
 newlib/libc/sys/rtems/sys/cpuset.h             | 311 -------------------------
 newlib/libc/sys/rtems/sys/dirent.h             |  64 -----
 newlib/libc/sys/rtems/sys/param.h              | 217 -----------------
 newlib/libc/sys/rtems/sys/syslimits.h          |  64 -----
 newlib/libc/sys/rtems/sys/utime.h              |  34 ---
 16 files changed, 835 insertions(+), 835 deletions(-)
 create mode 100644 newlib/libc/sys/rtems/include/machine/_types.h
 create mode 100644 newlib/libc/sys/rtems/include/machine/limits.h
 create mode 100644 newlib/libc/sys/rtems/include/machine/param.h
 create mode 100644 newlib/libc/sys/rtems/include/sys/cpuset.h
 create mode 100644 newlib/libc/sys/rtems/include/sys/dirent.h
 create mode 100644 newlib/libc/sys/rtems/include/sys/param.h
 create mode 100644 newlib/libc/sys/rtems/include/sys/syslimits.h
 create mode 100644 newlib/libc/sys/rtems/include/sys/utime.h
 delete mode 100644 newlib/libc/sys/rtems/machine/_types.h
 delete mode 100644 newlib/libc/sys/rtems/machine/limits.h
 delete mode 100644 newlib/libc/sys/rtems/machine/param.h
 delete mode 100644 newlib/libc/sys/rtems/sys/cpuset.h
 delete mode 100644 newlib/libc/sys/rtems/sys/dirent.h
 delete mode 100644 newlib/libc/sys/rtems/sys/param.h
 delete mode 100644 newlib/libc/sys/rtems/sys/syslimits.h
 delete mode 100644 newlib/libc/sys/rtems/sys/utime.h

diff --git a/newlib/libc/sys/rtems/include/machine/_types.h b/newlib/libc/sys/rtems/include/machine/_types.h
new file mode 100644
index 0000000..1711c7a
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/machine/_types.h
@@ -0,0 +1,38 @@
+/*
+ *  $Id$
+ */
+
+#ifndef _MACHINE__TYPES_H
+#define _MACHINE__TYPES_H
+
+/* This disables some conflicting type definitions in <machine/types.h> */
+#define _HAVE_SYSTYPES
+
+#include <machine/_default_types.h>
+
+typedef __int32_t blksize_t;
+typedef __int32_t blkcnt_t;
+
+typedef __uint64_t __dev_t;
+#define __dev_t_defined 1
+
+#if defined(__arm__) || defined(__i386__) || defined(__m68k__) || defined(__mips__) || defined(__PPC__) || defined(__sparc__)
+/* Use 64bit types */
+typedef __int64_t _off_t;
+#define __off_t_defined 1
+
+typedef __int64_t _fpos_t;
+#define __fpos_t_defined 1
+#else
+/* Use 32bit types */
+typedef __int32_t _off_t;
+#define __off_t_defined 1
+
+typedef __int32_t _fpos_t;
+#define __fpos_t_defined 1
+#endif
+
+typedef __uint32_t _mode_t;
+#define __mode_t_defined 1
+
+#endif
diff --git a/newlib/libc/sys/rtems/include/machine/limits.h b/newlib/libc/sys/rtems/include/machine/limits.h
new file mode 100644
index 0000000..5a6ee03
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/machine/limits.h
@@ -0,0 +1,6 @@
+/*
+ *  $Id$
+ */
+
+/* intentionally empty file */
+
diff --git a/newlib/libc/sys/rtems/include/machine/param.h b/newlib/libc/sys/rtems/include/machine/param.h
new file mode 100644
index 0000000..74891f5
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/machine/param.h
@@ -0,0 +1,101 @@
+/*
+ *  $Id$
+ */
+
+#ifndef _MACHINE_PARAM_H_
+#define	_MACHINE_PARAM_H_
+
+/*
+ * These aren't really machine-dependent for RTEMS.....
+ */
+
+/*
+#define MACHINE		"i386"
+#define MID_MACHINE	MID_I386
+*/
+
+/*
+ * Round p (pointer or byte index) up to a correctly-aligned value
+ * for all data types (int, long, ...).   The result is unsigned int
+ * and must be cast to any desired pointer type.
+ */
+#if defined(__sparc__)
+#define ALIGNBYTES	(sizeof(double) - 1)
+#else
+#define ALIGNBYTES	(sizeof(int) - 1)
+#endif
+#define ALIGN(p)	(((unsigned)(p) + ALIGNBYTES) & ~ALIGNBYTES)
+
+#define PAGE_SHIFT	12		/* LOG2(PAGE_SIZE) */
+#define PAGE_SIZE	(1<<PAGE_SHIFT)	/* bytes/page */
+#define PAGE_MASK	(PAGE_SIZE-1)
+#define NPTEPG		(PAGE_SIZE/(sizeof (pt_entry_t)))
+
+#define NPDEPG		(PAGE_SIZE/(sizeof (pd_entry_t)))
+#define PDRSHIFT	22		/* LOG2(NBPDR) */
+#define NBPDR		(1<<PDRSHIFT)	/* bytes/page dir */
+
+#define DEV_BSHIFT	9		/* log2(DEV_BSIZE) */
+#define DEV_BSIZE	(1<<DEV_BSHIFT)
+
+#if defined(__AVR__) || defined(__h8300__)
+#define BLKDEV_IOSIZE	1024
+#define MAXPHYS		(1 * 1024)	/* max raw I/O transfer size */
+#else
+#define BLKDEV_IOSIZE	2048
+#define MAXPHYS		(64 * 1024)	/* max raw I/O transfer size */
+#endif
+
+#define UPAGES	2		/* pages of u-area */
+
+/*
+ * Constants related to network buffer management.
+ * MCLBYTES must be no larger than CLBYTES (the software page size), and,
+ * on machines that exchange pages of input or output buffers with mbuf
+ * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple
+ * of the hardware page size.
+ */
+#ifndef	MSIZE
+#define MSIZE		128		/* size of an mbuf */
+#endif	/* MSIZE */
+
+#ifndef	MCLSHIFT
+#define MCLSHIFT	11		/* convert bytes to m_buf clusters */
+#endif	/* MCLSHIFT */
+#define MCLBYTES	(1 << MCLSHIFT)	/* size of an m_buf cluster */
+#define MCLOFSET	(MCLBYTES - 1)	/* offset within an m_buf cluster */
+
+/*
+ * Some macros for units conversion
+ */
+
+/* clicks to bytes */
+#define ctob(x)	((x)<<PAGE_SHIFT)
+
+/* bytes to clicks */
+#define btoc(x)	(((unsigned)(x)+PAGE_MASK)>>PAGE_SHIFT)
+
+/*
+ * btodb() is messy and perhaps slow because `bytes' may be an off_t.  We
+ * want to shift an unsigned type to avoid sign extension and we don't
+ * want to widen `bytes' unnecessarily.  Assume that the result fits in
+ * a daddr_t.
+ */
+#define btodb(bytes)	 		/* calculates (bytes / DEV_BSIZE) */ \
+	(sizeof (bytes) > sizeof(long) \
+	 ? (daddr_t)((unsigned long long)(bytes) >> DEV_BSHIFT) \
+	 : (daddr_t)((unsigned long)(bytes) >> DEV_BSHIFT))
+
+#define dbtob(db)			/* calculates (db * DEV_BSIZE) */ \
+	((off_t)(db) << DEV_BSHIFT)
+
+/*
+ * Mach derived conversion macros
+ */
+#define trunc_page(x)		((unsigned)(x) & ~PAGE_MASK)
+#define round_page(x)		((((unsigned)(x)) + PAGE_MASK) & ~PAGE_MASK)
+
+#define atop(x)			((unsigned)(x) >> PAGE_SHIFT)
+#define ptoa(x)			((unsigned)(x) << PAGE_SHIFT)
+
+#endif /* !_MACHINE_PARAM_H_ */
diff --git a/newlib/libc/sys/rtems/include/sys/cpuset.h b/newlib/libc/sys/rtems/include/sys/cpuset.h
new file mode 100644
index 0000000..8fae475
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/sys/cpuset.h
@@ -0,0 +1,311 @@
+/*
+ * Copyright (c) 2013 On-Line Applications Research Corporation.
+ * All rights reserved.
+ *
+ *  On-Line Applications Research Corporation
+ *  7047 Old Madison Pike Suite 320
+ *  Huntsville Alabama 35806
+ *  <info at oarcorp.com>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ *  This file implements an API compatible with static portion of
+ *  the GNU/Linux cpu_set_t macros but is independently implemented.
+ *  The GNU/Linux manual page and the FreeBSD cpuset_t implementation
+ *  were used as reference material.
+ *
+ *  Not implemented:
+ *    + Linux CPU_XXX_S
+ *    + FreeBSD CPU_SUBSET
+ *    + FreeBSD CPU_OVERLAP
+ */
+
+
+#ifndef _SYS_CPUSET_H_
+#define _SYS_CPUSET_H_
+
+#include <sys/cdefs.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/* RTEMS supports a maximum of 32 CPU cores */
+#ifndef CPU_SETSIZE
+#define CPU_SETSIZE 32
+#endif
+
+/* word in the cpu set */
+typedef __uint32_t cpu_set_word_t;
+
+/* Number of bits per cpu_set_t element */
+#define _NCPUBITS  (sizeof(cpu_set_word_t) * 8)
+
+/* Number of words in the cpu_set_t array */
+#define _NCPUWORDS   (((CPU_SETSIZE)+((_NCPUBITS)-1))/(_NCPUBITS))
+
+/* Define the cpu set structure */
+typedef struct _cpuset {
+  cpu_set_word_t __bits[_NCPUWORDS];
+} cpu_set_t;
+
+/* determine the mask for a particular cpu within the element */
+static __inline cpu_set_word_t  __cpuset_mask(int cpu)
+{
+  return (cpu_set_word_t)1 << ((size_t)cpu % _NCPUBITS);
+}
+
+/* determine the index for this cpu within the cpu set array */
+static __inline size_t __cpuset_index(int cpu)
+{
+  return (size_t)cpu / _NCPUBITS;
+}
+
+#define CPU_ALLOC_SIZE(_num_cpus) \
+  (sizeof(cpu_set_word_t) * (((_num_cpus) + _NCPUBITS - 1) / _NCPUBITS))
+
+cpu_set_t *__cpuset_alloc(int num_cpus);
+
+static __inline cpu_set_t *CPU_ALLOC(int num_cpus)
+{
+  return __cpuset_alloc(num_cpus);
+}
+
+void __cpuset_free(cpu_set_t *set);
+
+static __inline void CPU_FREE(cpu_set_t *set)
+{
+  __cpuset_free(set);
+}
+
+static __inline void CPU_ZERO_S(size_t setsize, cpu_set_t *set)
+{
+  cpu_set_word_t *w = &set->__bits[0];
+  size_t n = setsize / sizeof(*w);
+  size_t i;
+
+  for (i = 0; i < n; ++i)
+    w[i] = 0;
+}
+
+static __inline void CPU_ZERO(cpu_set_t *set)
+{
+  CPU_ZERO_S(sizeof(*set), set);
+}
+
+static __inline void CPU_FILL_S(size_t setsize, cpu_set_t *set)
+{
+  cpu_set_word_t *w = &set->__bits[0];
+  size_t n = setsize / sizeof(*w);
+  size_t i;
+
+  for (i = 0; i < n; ++i)
+    w[i] = ~(cpu_set_word_t)0;
+}
+
+static __inline void CPU_FILL(cpu_set_t *set)
+{
+  CPU_FILL_S(sizeof(*set), set);
+}
+
+static __inline void CPU_SET_S(int cpu, size_t setsize, cpu_set_t *set)
+{
+  cpu_set_word_t *w = &set->__bits[0];
+
+  w[__cpuset_index(cpu)] |= __cpuset_mask(cpu);
+}
+
+static __inline void CPU_SET(int cpu, cpu_set_t *set)
+{
+  CPU_SET_S(cpu, sizeof(*set), set);
+}
+
+static __inline void CPU_CLR_S(int cpu, size_t setsize, cpu_set_t *set)
+{
+  cpu_set_word_t *w = &set->__bits[0];
+
+  w[__cpuset_index(cpu)] &= ~__cpuset_mask(cpu);
+}
+
+static __inline void CPU_CLR(int cpu, cpu_set_t *set)
+{
+  CPU_CLR_S(cpu, sizeof(*set), set);
+}
+
+static __inline int CPU_ISSET_S(int cpu, size_t setsize, const cpu_set_t *set)
+{
+  const cpu_set_word_t *w = &set->__bits[0];
+
+  return ((w[__cpuset_index(cpu)] & __cpuset_mask(cpu)) != 0);
+}
+
+static __inline int CPU_ISSET(int cpu, const cpu_set_t *set)
+{
+  return CPU_ISSET_S(cpu, sizeof(*set), set);
+}
+
+/* copy src set to dest set */
+static __inline void CPU_COPY( cpu_set_t *dest, const cpu_set_t *src )
+{
+  *dest = *src;
+}
+
+static __inline void CPU_AND_S(size_t setsize, cpu_set_t *destset,
+  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
+{
+  cpu_set_word_t *wdest = &destset->__bits[0];
+  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
+  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
+  size_t n = setsize / sizeof(*wdest);
+  size_t i;
+
+  for (i = 0; i < n; ++i)
+    wdest[i] = wsrc1[i] & wsrc2[i];
+}
+
+static __inline void CPU_AND(cpu_set_t *destset, const cpu_set_t *srcset1,
+  const cpu_set_t *srcset2)
+{
+  CPU_AND_S(sizeof(*destset), destset, srcset1, srcset2);
+}
+
+static __inline void CPU_OR_S(size_t setsize, cpu_set_t *destset,
+  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
+{
+  cpu_set_word_t *wdest = &destset->__bits[0];
+  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
+  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
+  size_t n = setsize / sizeof(*wdest);
+  size_t i;
+
+  for (i = 0; i < n; ++i)
+    wdest[i] = wsrc1[i] | wsrc2[i];
+}
+
+static __inline void CPU_OR(cpu_set_t *destset, const cpu_set_t *srcset1,
+  const cpu_set_t *srcset2)
+{
+  CPU_OR_S(sizeof(*destset), destset, srcset1, srcset2);
+}
+
+static __inline void CPU_XOR_S(size_t setsize, cpu_set_t *destset,
+  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
+{
+  cpu_set_word_t *wdest = &destset->__bits[0];
+  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
+  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
+  size_t n = setsize / sizeof(*wdest);
+  size_t i;
+
+  for (i = 0; i < n; ++i)
+    wdest[i] = wsrc1[i] ^ wsrc2[i];
+}
+
+static __inline void CPU_XOR(cpu_set_t *destset, const cpu_set_t *srcset1,
+  const cpu_set_t *srcset2)
+{
+  CPU_XOR_S(sizeof(*destset), destset, srcset1, srcset2);
+}
+
+static __inline void CPU_NAND_S(size_t setsize, cpu_set_t *destset,
+  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
+{
+  cpu_set_word_t *wdest = &destset->__bits[0];
+  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
+  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
+  size_t n = setsize / sizeof(*wdest);
+  size_t i;
+
+  for (i = 0; i < n; ++i)
+    wdest[i] = ~(wsrc1[i] & wsrc2[i]);
+}
+
+static __inline void CPU_NAND(cpu_set_t *destset, const cpu_set_t *srcset1,
+  const cpu_set_t *srcset2)
+{
+  CPU_NAND_S(sizeof(*destset), destset, srcset1, srcset2);
+}
+
+static __inline int CPU_COUNT_S(size_t setsize, const cpu_set_t *set)
+{
+  int count = 0;
+  const cpu_set_word_t *w = &set->__bits[0];
+  size_t n = setsize / sizeof(*w);
+  size_t i;
+  int cpu;
+
+  for (i = 0; i < n; ++i)
+    for (cpu = 0; cpu < (int)_NCPUBITS; ++cpu)
+      count += (w[i] & __cpuset_mask(cpu)) != 0;
+
+  return count;
+}
+
+static __inline int CPU_COUNT(const cpu_set_t *set)
+{
+  return CPU_COUNT_S(sizeof(*set), set);
+}
+
+static __inline int CPU_EQUAL_S(size_t setsize, const cpu_set_t *set1,
+  const cpu_set_t *set2)
+{
+  const cpu_set_word_t *w1 = &set1->__bits[0];
+  const cpu_set_word_t *w2 = &set2->__bits[0];
+  size_t n = setsize / sizeof(*w1);
+  size_t i;
+
+  for (i = 0; i < n; ++i)
+    if (w1[i] != w2[i])
+      return 0;
+
+  return 1;
+}
+
+static __inline int CPU_EQUAL(const cpu_set_t *set1, const cpu_set_t *set2)
+{
+  return CPU_EQUAL_S(sizeof(*set1), set1, set2);
+}
+
+/* return 1 if the sets set1 and set2 are equal, otherwise return 0 */
+static __inline int CPU_CMP( const cpu_set_t *set1, const cpu_set_t *set2 )
+{
+  return CPU_EQUAL(set1, set2);
+}
+
+/* return 1 if the set is empty, otherwise return 0 */
+static __inline int CPU_EMPTY( const cpu_set_t *set )
+{
+  size_t i;
+
+  for (i=0; i < _NCPUWORDS; i++)
+    if (set->__bits[i] != 0 )
+      return 0;
+  return 1;
+}
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif
diff --git a/newlib/libc/sys/rtems/include/sys/dirent.h b/newlib/libc/sys/rtems/include/sys/dirent.h
new file mode 100644
index 0000000..8d2aa38
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/sys/dirent.h
@@ -0,0 +1,64 @@
+#ifndef _SYS_DIRENT_H
+# define _SYS_DIRENT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * This file was written to be compatible with the BSD directory
+ * routines, so it looks like it.  But it was written from scratch.
+ * Sean Eric Fagan, sef at Kithrup.COM
+ *
+ *  Copied to RTEMS configuration without modification.
+ */
+
+typedef struct _dirdesc {
+	int	dd_fd;
+	long	dd_loc;
+	long	dd_size;
+	char	*dd_buf;
+	int	dd_len;
+	long	dd_seek;
+} DIR;
+
+# define __dirfd(dp)	((dp)->dd_fd)
+
+DIR *opendir(const char *);
+struct dirent *readdir(DIR *);
+int readdir_r(DIR *__restrict, struct dirent *__restrict,
+              struct dirent **__restrict);
+void rewinddir(DIR *);
+int closedir(DIR *);
+void seekdir(DIR *dir, long loc);
+long telldir(DIR *dir);
+
+#ifdef _COMPILING_NEWLIB
+void _seekdir(DIR *dir, long offset);
+#endif
+
+#include <sys/types.h>
+
+#include <limits.h>
+
+struct dirent {
+	long	d_ino;
+	off_t	d_off;
+	unsigned short	d_reclen;
+	/* we need better syntax for variable-sized arrays */
+	unsigned short	d_namlen;
+	char		d_name[NAME_MAX + 1];
+};
+
+int scandir ( const char *dirname,
+   struct dirent *** namelist,
+   int (*select)(const struct dirent *),
+   int (*dcomp)(const struct dirent **, const struct dirent **)
+);
+
+#ifdef __cplusplus
+}
+#endif 
+
+
+#endif
diff --git a/newlib/libc/sys/rtems/include/sys/param.h b/newlib/libc/sys/rtems/include/sys/param.h
new file mode 100644
index 0000000..808745f
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/sys/param.h
@@ -0,0 +1,217 @@
+/*-
+ * Copyright (c) 1982, 1986, 1989, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ * (c) UNIX System Laboratories, Inc.
+ * All or some portions of this file are derived from material licensed
+ * to the University of California by American Telephone and Telegraph
+ * Co. or Unix System Laboratories, Inc. and are reproduced herein with
+ * the permission of UNIX System Laboratories, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *	@(#)param.h	8.3 (Berkeley) 4/4/95
+ * $Id$
+ */
+
+#ifndef _SYS_PARAM_H_
+#define _SYS_PARAM_H_
+
+/* from newlib's <sys/param.h> */
+
+#include <sys/config.h>
+#include <machine/endian.h>
+
+# define PATHSIZE (1024)
+
+/* end of from newlib's <sys/param.h> */
+
+#include <unistd.h>
+
+#define	BSD	199506		/* System version (year & month). */
+#define BSD4_3	1
+#define BSD4_4	1
+
+#ifndef NULL
+#define	NULL	0
+#endif
+
+#ifndef LOCORE
+#include <sys/types.h>
+#endif
+
+/*
+ * Machine-independent constants (some used in following include files).
+ * Redefined constants are from POSIX 1003.1 limits file.
+ *
+ * MAXCOMLEN should be >= sizeof(ac_comm) (see <acct.h>)
+ */
+#include <sys/syslimits.h>
+
+#define	MAXCOMLEN	19		/* max command name remembered */
+#define	MAXINTERP	PATH_MAX	/* max interpreter file name length */
+#define	MAXLOGNAME	33		/* max login name length (incl. NUL) */
+#define	MAXUPRC		CHILD_MAX	/* max simultaneous processes */
+#define	NCARGS		ARG_MAX		/* max bytes for an exec function */
+#define	NGROUPS		(NGROUPS_MAX+1)	/* max number groups */
+#define	NOFILE		OPEN_MAX	/* max open files per process */
+#define	NOGROUP		65535		/* marker for empty group set member */
+#define MAXHOSTNAMELEN	256		/* max hostname size */
+#define SPECNAMELEN	63		/* max length of devicename */
+
+/* More types and definitions used throughout the kernel. */
+#if defined(KERNEL) || defined(_KERNEL)
+#include <sys/cdefs.h>
+#include <sys/errno.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <sys/uio.h>
+#include <sys/priority.h>
+
+#ifndef FALSE
+#define	FALSE	0
+#endif
+#ifndef TRUE
+#define	TRUE	1
+#endif
+#endif
+
+/* Signals. */
+#include <sys/signal.h>
+
+/* Machine type dependent parameters. */
+#include <machine/param.h>
+#include <machine/limits.h>
+
+#define	PRIMASK	0x0ff
+#define	PCATCH	0x100		/* OR'd with pri for tsleep to check signals */
+
+#define	NZERO	0		/* default "nice" */
+
+#define	NBPW	sizeof(int)	/* number of bytes per word (integer) */
+
+#define	CMASK	022		/* default file mask: S_IWGRP|S_IWOTH */
+#define	NODEV	(dev_t)(-1)	/* non-existent device */
+
+#define	CBLOCK	128		/* Clist block size, must be a power of 2. */
+#define CBQSIZE	(CBLOCK/NBBY)	/* Quote bytes/cblock - can do better. */
+				/* Data chars/clist. */
+#define	CBSIZE	(CBLOCK - sizeof(struct cblock *) - CBQSIZE)
+#define	CROUND	(CBLOCK - 1)	/* Clist rounding. */
+
+/*
+ * File system parameters and macros.
+ *
+ * MAXBSIZE -	Filesystems are made out of blocks of at most MAXBSIZE bytes
+ *		per block.  MAXBSIZE may be made larger without effecting
+ *		any existing filesystems as long as it does not exceed MAXPHYS,
+ *		and may be made smaller at the risk of not being able to use
+ *		filesystems which require a block size exceeding MAXBSIZE.
+ *
+ * BKVASIZE -	Nominal buffer space per buffer, in bytes.  BKVASIZE is the
+ *		minimum KVM memory reservation the kernel is willing to make.
+ *		Filesystems can of course request smaller chunks.  Actual 
+ *		backing memory uses a chunk size of a page (PAGE_SIZE).
+ *
+ *		If you make BKVASIZE too small you risk seriously fragmenting
+ *		the buffer KVM map which may slow things down a bit.  If you
+ *		make it too big the kernel will not be able to optimally use 
+ *		the KVM memory reserved for the buffer cache and will wind 
+ *		up with too-few buffers.
+ *
+ *		The default is 16384, roughly 2x the block size used by a
+ *		normal UFS filesystem.
+ */
+#define MAXBSIZE	65536	/* must be power of 2 */
+#define BKVASIZE	16384	/* must be power of 2 */
+#define BKVAMASK	(BKVASIZE-1)
+
+/*
+ * MAXPATHLEN defines the longest permissible path length after expanding
+ * symbolic links. It is used to allocate a temporary buffer from the buffer
+ * pool in which to do the name expansion, hence should be a power of two,
+ * and must be less than or equal to MAXBSIZE.  MAXSYMLINKS defines the
+ * maximum number of symbolic links that may be expanded in a path name.
+ * It should be set high enough to allow all legitimate uses, but halt
+ * infinite loops reasonably quickly.
+ */
+#define	MAXPATHLEN	PATH_MAX
+#define MAXSYMLINKS	32
+
+/* Bit map related macros. */
+#define	setbit(a,i)	(((unsigned char *)(a))[(i)/NBBY] |= 1<<((i)%NBBY))
+#define	clrbit(a,i)	(((unsigned char *)(a))[(i)/NBBY] &= ~(1<<((i)%NBBY)))
+#define	isset(a,i)							\
+	(((const unsigned char *)(a))[(i)/NBBY] & (1<<((i)%NBBY)))
+#define	isclr(a,i)							\
+	((((const unsigned char *)(a))[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
+
+/* Macros for counting and rounding. */
+#ifndef howmany
+#define	howmany(x, y)	(((x)+((y)-1))/(y))
+#endif
+#define	rounddown(x, y)	(((x)/(y))*(y))
+#define	roundup(x, y)	((((x)+((y)-1))/(y))*(y))  /* to any y */
+#define	roundup2(x, y)	(((x)+((y)-1))&(~((y)-1))) /* if y is powers of two */
+#define powerof2(x)	((((x)-1)&(x))==0)
+
+/* Macros for min/max. */
+#if !(defined(KERNEL) || defined(_KERNEL))
+#define	MIN(a,b) (((a)<(b))?(a):(b))
+#define	MAX(a,b) (((a)>(b))?(a):(b))
+#endif
+
+/*
+ * Constants for setting the parameters of the kernel memory allocator.
+ *
+ * 2 ** MINBUCKET is the smallest unit of memory that will be
+ * allocated. It must be at least large enough to hold a pointer.
+ *
+ * Units of memory less or equal to MAXALLOCSAVE will permanently
+ * allocate physical memory; requests for these size pieces of
+ * memory are quite fast. Allocations greater than MAXALLOCSAVE must
+ * always allocate and free physical memory; requests for these
+ * size allocations should be done infrequently as they will be slow.
+ *
+ * Constraints: PAGE_SIZE <= MAXALLOCSAVE <= 2 ** (MINBUCKET + 14), and
+ * MAXALLOCSIZE must be a power of two.
+ */
+#define MINBUCKET	4		/* 4 => min allocation of 16 bytes */
+#define MAXALLOCSAVE	(2 * PAGE_SIZE)
+
+/*
+ * Scale factor for scaled integers used to count %cpu time and load avgs.
+ *
+ * The number of CPU `tick's that map to a unique `%age' can be expressed
+ * by the formula (1 / (2 ^ (FSHIFT - 11))).  The maximum load average that
+ * can be calculated (assuming 32 bits) can be closely approximated using
+ * the formula (2 ^ (2 * (16 - FSHIFT))) for (FSHIFT < 15).
+ *
+ * For the scheduler to maintain a 1:1 mapping of CPU `tick' to `%age',
+ * FSHIFT must be at least 11; this gives us a maximum load avg of ~1024.
+ */
+#define	FSHIFT	11		/* bits to right of fixed binary point */
+#define FSCALE	(1<<FSHIFT)
+
+#endif	/* _SYS_PARAM_H_ */
diff --git a/newlib/libc/sys/rtems/include/sys/syslimits.h b/newlib/libc/sys/rtems/include/sys/syslimits.h
new file mode 100644
index 0000000..2295afe
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/sys/syslimits.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 1988, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *	This product includes software developed by the University of
+ *	California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *	@(#)syslimits.h	8.1 (Berkeley) 6/2/93
+ * $Id$
+ */
+
+#ifndef _SYS_SYSLIMITS_H_
+#define _SYS_SYSLIMITS_H_
+
+#define	ARG_MAX			 4096	/* max bytes for an exec function */
+#ifndef CHILD_MAX
+#define	CHILD_MAX		    6	/* max simultaneous processes */
+#endif
+#define	LINK_MAX		    8	/* max file link count */
+#define	MAX_CANON		  255	/* max bytes in term canon input line */
+#define	MAX_INPUT		  255	/* max bytes in terminal input */
+#define	NAME_MAX		  255	/* max bytes in a file name */
+#define	NGROUPS_MAX		   15	/* max supplemental group id's */
+#ifndef OPEN_MAX
+#define	OPEN_MAX		   64	/* max open files per process */
+#endif
+#define	PATH_MAX		  255	/* max bytes in pathname */
+#define	PIPE_BUF		  512	/* max bytes for atomic pipe writes */
+#define	IOV_MAX			 1024	/* max elements in i/o vector */
+#define	BC_BASE_MAX		   99	/* max ibase/obase values in bc(1) */
+#define	BC_DIM_MAX		 2048	/* max array elements in bc(1) */
+#define	BC_SCALE_MAX		   99	/* max scale value in bc(1) */
+#define	BC_STRING_MAX		 1000	/* max const string length in bc(1) */
+#define	COLL_WEIGHTS_MAX	    0	/* max weights for order keyword */
+#define	EXPR_NEST_MAX		   32	/* max expressions nested in expr(1) */
+#define	LINE_MAX		 2048	/* max bytes in an input line */
+#define	RE_DUP_MAX		  255	/* max RE's in interval notation */
+
+#endif
diff --git a/newlib/libc/sys/rtems/include/sys/utime.h b/newlib/libc/sys/rtems/include/sys/utime.h
new file mode 100644
index 0000000..561136b
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/sys/utime.h
@@ -0,0 +1,34 @@
+/*
+ *  $Id$
+ */
+
+#ifndef __UTIME_h__
+#define __UTIME_h__
+
+#include <sys/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ *  POSIX 1003.1b 5.6.6 Set File Access and Modification Times
+ */
+
+struct utimbuf {
+  time_t  actime;   /* Access time */
+  time_t  modtime;  /* Modification time */
+};
+
+/* Functions */
+
+int utime(
+  const char           *path,
+  const struct utimbuf *times
+);
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif /* _SYS_UTIME_H */
diff --git a/newlib/libc/sys/rtems/machine/_types.h b/newlib/libc/sys/rtems/machine/_types.h
deleted file mode 100644
index 1711c7a..0000000
--- a/newlib/libc/sys/rtems/machine/_types.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- *  $Id$
- */
-
-#ifndef _MACHINE__TYPES_H
-#define _MACHINE__TYPES_H
-
-/* This disables some conflicting type definitions in <machine/types.h> */
-#define _HAVE_SYSTYPES
-
-#include <machine/_default_types.h>
-
-typedef __int32_t blksize_t;
-typedef __int32_t blkcnt_t;
-
-typedef __uint64_t __dev_t;
-#define __dev_t_defined 1
-
-#if defined(__arm__) || defined(__i386__) || defined(__m68k__) || defined(__mips__) || defined(__PPC__) || defined(__sparc__)
-/* Use 64bit types */
-typedef __int64_t _off_t;
-#define __off_t_defined 1
-
-typedef __int64_t _fpos_t;
-#define __fpos_t_defined 1
-#else
-/* Use 32bit types */
-typedef __int32_t _off_t;
-#define __off_t_defined 1
-
-typedef __int32_t _fpos_t;
-#define __fpos_t_defined 1
-#endif
-
-typedef __uint32_t _mode_t;
-#define __mode_t_defined 1
-
-#endif
diff --git a/newlib/libc/sys/rtems/machine/limits.h b/newlib/libc/sys/rtems/machine/limits.h
deleted file mode 100644
index 5a6ee03..0000000
--- a/newlib/libc/sys/rtems/machine/limits.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- *  $Id$
- */
-
-/* intentionally empty file */
-
diff --git a/newlib/libc/sys/rtems/machine/param.h b/newlib/libc/sys/rtems/machine/param.h
deleted file mode 100644
index 74891f5..0000000
--- a/newlib/libc/sys/rtems/machine/param.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- *  $Id$
- */
-
-#ifndef _MACHINE_PARAM_H_
-#define	_MACHINE_PARAM_H_
-
-/*
- * These aren't really machine-dependent for RTEMS.....
- */
-
-/*
-#define MACHINE		"i386"
-#define MID_MACHINE	MID_I386
-*/
-
-/*
- * Round p (pointer or byte index) up to a correctly-aligned value
- * for all data types (int, long, ...).   The result is unsigned int
- * and must be cast to any desired pointer type.
- */
-#if defined(__sparc__)
-#define ALIGNBYTES	(sizeof(double) - 1)
-#else
-#define ALIGNBYTES	(sizeof(int) - 1)
-#endif
-#define ALIGN(p)	(((unsigned)(p) + ALIGNBYTES) & ~ALIGNBYTES)
-
-#define PAGE_SHIFT	12		/* LOG2(PAGE_SIZE) */
-#define PAGE_SIZE	(1<<PAGE_SHIFT)	/* bytes/page */
-#define PAGE_MASK	(PAGE_SIZE-1)
-#define NPTEPG		(PAGE_SIZE/(sizeof (pt_entry_t)))
-
-#define NPDEPG		(PAGE_SIZE/(sizeof (pd_entry_t)))
-#define PDRSHIFT	22		/* LOG2(NBPDR) */
-#define NBPDR		(1<<PDRSHIFT)	/* bytes/page dir */
-
-#define DEV_BSHIFT	9		/* log2(DEV_BSIZE) */
-#define DEV_BSIZE	(1<<DEV_BSHIFT)
-
-#if defined(__AVR__) || defined(__h8300__)
-#define BLKDEV_IOSIZE	1024
-#define MAXPHYS		(1 * 1024)	/* max raw I/O transfer size */
-#else
-#define BLKDEV_IOSIZE	2048
-#define MAXPHYS		(64 * 1024)	/* max raw I/O transfer size */
-#endif
-
-#define UPAGES	2		/* pages of u-area */
-
-/*
- * Constants related to network buffer management.
- * MCLBYTES must be no larger than CLBYTES (the software page size), and,
- * on machines that exchange pages of input or output buffers with mbuf
- * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple
- * of the hardware page size.
- */
-#ifndef	MSIZE
-#define MSIZE		128		/* size of an mbuf */
-#endif	/* MSIZE */
-
-#ifndef	MCLSHIFT
-#define MCLSHIFT	11		/* convert bytes to m_buf clusters */
-#endif	/* MCLSHIFT */
-#define MCLBYTES	(1 << MCLSHIFT)	/* size of an m_buf cluster */
-#define MCLOFSET	(MCLBYTES - 1)	/* offset within an m_buf cluster */
-
-/*
- * Some macros for units conversion
- */
-
-/* clicks to bytes */
-#define ctob(x)	((x)<<PAGE_SHIFT)
-
-/* bytes to clicks */
-#define btoc(x)	(((unsigned)(x)+PAGE_MASK)>>PAGE_SHIFT)
-
-/*
- * btodb() is messy and perhaps slow because `bytes' may be an off_t.  We
- * want to shift an unsigned type to avoid sign extension and we don't
- * want to widen `bytes' unnecessarily.  Assume that the result fits in
- * a daddr_t.
- */
-#define btodb(bytes)	 		/* calculates (bytes / DEV_BSIZE) */ \
-	(sizeof (bytes) > sizeof(long) \
-	 ? (daddr_t)((unsigned long long)(bytes) >> DEV_BSHIFT) \
-	 : (daddr_t)((unsigned long)(bytes) >> DEV_BSHIFT))
-
-#define dbtob(db)			/* calculates (db * DEV_BSIZE) */ \
-	((off_t)(db) << DEV_BSHIFT)
-
-/*
- * Mach derived conversion macros
- */
-#define trunc_page(x)		((unsigned)(x) & ~PAGE_MASK)
-#define round_page(x)		((((unsigned)(x)) + PAGE_MASK) & ~PAGE_MASK)
-
-#define atop(x)			((unsigned)(x) >> PAGE_SHIFT)
-#define ptoa(x)			((unsigned)(x) << PAGE_SHIFT)
-
-#endif /* !_MACHINE_PARAM_H_ */
diff --git a/newlib/libc/sys/rtems/sys/cpuset.h b/newlib/libc/sys/rtems/sys/cpuset.h
deleted file mode 100644
index 8fae475..0000000
--- a/newlib/libc/sys/rtems/sys/cpuset.h
+++ /dev/null
@@ -1,311 +0,0 @@
-/*
- * Copyright (c) 2013 On-Line Applications Research Corporation.
- * All rights reserved.
- *
- *  On-Line Applications Research Corporation
- *  7047 Old Madison Pike Suite 320
- *  Huntsville Alabama 35806
- *  <info at oarcorp.com>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- *  This file implements an API compatible with static portion of
- *  the GNU/Linux cpu_set_t macros but is independently implemented.
- *  The GNU/Linux manual page and the FreeBSD cpuset_t implementation
- *  were used as reference material.
- *
- *  Not implemented:
- *    + Linux CPU_XXX_S
- *    + FreeBSD CPU_SUBSET
- *    + FreeBSD CPU_OVERLAP
- */
-
-
-#ifndef _SYS_CPUSET_H_
-#define _SYS_CPUSET_H_
-
-#include <sys/cdefs.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/* RTEMS supports a maximum of 32 CPU cores */
-#ifndef CPU_SETSIZE
-#define CPU_SETSIZE 32
-#endif
-
-/* word in the cpu set */
-typedef __uint32_t cpu_set_word_t;
-
-/* Number of bits per cpu_set_t element */
-#define _NCPUBITS  (sizeof(cpu_set_word_t) * 8)
-
-/* Number of words in the cpu_set_t array */
-#define _NCPUWORDS   (((CPU_SETSIZE)+((_NCPUBITS)-1))/(_NCPUBITS))
-
-/* Define the cpu set structure */
-typedef struct _cpuset {
-  cpu_set_word_t __bits[_NCPUWORDS];
-} cpu_set_t;
-
-/* determine the mask for a particular cpu within the element */
-static __inline cpu_set_word_t  __cpuset_mask(int cpu)
-{
-  return (cpu_set_word_t)1 << ((size_t)cpu % _NCPUBITS);
-}
-
-/* determine the index for this cpu within the cpu set array */
-static __inline size_t __cpuset_index(int cpu)
-{
-  return (size_t)cpu / _NCPUBITS;
-}
-
-#define CPU_ALLOC_SIZE(_num_cpus) \
-  (sizeof(cpu_set_word_t) * (((_num_cpus) + _NCPUBITS - 1) / _NCPUBITS))
-
-cpu_set_t *__cpuset_alloc(int num_cpus);
-
-static __inline cpu_set_t *CPU_ALLOC(int num_cpus)
-{
-  return __cpuset_alloc(num_cpus);
-}
-
-void __cpuset_free(cpu_set_t *set);
-
-static __inline void CPU_FREE(cpu_set_t *set)
-{
-  __cpuset_free(set);
-}
-
-static __inline void CPU_ZERO_S(size_t setsize, cpu_set_t *set)
-{
-  cpu_set_word_t *w = &set->__bits[0];
-  size_t n = setsize / sizeof(*w);
-  size_t i;
-
-  for (i = 0; i < n; ++i)
-    w[i] = 0;
-}
-
-static __inline void CPU_ZERO(cpu_set_t *set)
-{
-  CPU_ZERO_S(sizeof(*set), set);
-}
-
-static __inline void CPU_FILL_S(size_t setsize, cpu_set_t *set)
-{
-  cpu_set_word_t *w = &set->__bits[0];
-  size_t n = setsize / sizeof(*w);
-  size_t i;
-
-  for (i = 0; i < n; ++i)
-    w[i] = ~(cpu_set_word_t)0;
-}
-
-static __inline void CPU_FILL(cpu_set_t *set)
-{
-  CPU_FILL_S(sizeof(*set), set);
-}
-
-static __inline void CPU_SET_S(int cpu, size_t setsize, cpu_set_t *set)
-{
-  cpu_set_word_t *w = &set->__bits[0];
-
-  w[__cpuset_index(cpu)] |= __cpuset_mask(cpu);
-}
-
-static __inline void CPU_SET(int cpu, cpu_set_t *set)
-{
-  CPU_SET_S(cpu, sizeof(*set), set);
-}
-
-static __inline void CPU_CLR_S(int cpu, size_t setsize, cpu_set_t *set)
-{
-  cpu_set_word_t *w = &set->__bits[0];
-
-  w[__cpuset_index(cpu)] &= ~__cpuset_mask(cpu);
-}
-
-static __inline void CPU_CLR(int cpu, cpu_set_t *set)
-{
-  CPU_CLR_S(cpu, sizeof(*set), set);
-}
-
-static __inline int CPU_ISSET_S(int cpu, size_t setsize, const cpu_set_t *set)
-{
-  const cpu_set_word_t *w = &set->__bits[0];
-
-  return ((w[__cpuset_index(cpu)] & __cpuset_mask(cpu)) != 0);
-}
-
-static __inline int CPU_ISSET(int cpu, const cpu_set_t *set)
-{
-  return CPU_ISSET_S(cpu, sizeof(*set), set);
-}
-
-/* copy src set to dest set */
-static __inline void CPU_COPY( cpu_set_t *dest, const cpu_set_t *src )
-{
-  *dest = *src;
-}
-
-static __inline void CPU_AND_S(size_t setsize, cpu_set_t *destset,
-  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
-{
-  cpu_set_word_t *wdest = &destset->__bits[0];
-  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
-  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
-  size_t n = setsize / sizeof(*wdest);
-  size_t i;
-
-  for (i = 0; i < n; ++i)
-    wdest[i] = wsrc1[i] & wsrc2[i];
-}
-
-static __inline void CPU_AND(cpu_set_t *destset, const cpu_set_t *srcset1,
-  const cpu_set_t *srcset2)
-{
-  CPU_AND_S(sizeof(*destset), destset, srcset1, srcset2);
-}
-
-static __inline void CPU_OR_S(size_t setsize, cpu_set_t *destset,
-  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
-{
-  cpu_set_word_t *wdest = &destset->__bits[0];
-  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
-  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
-  size_t n = setsize / sizeof(*wdest);
-  size_t i;
-
-  for (i = 0; i < n; ++i)
-    wdest[i] = wsrc1[i] | wsrc2[i];
-}
-
-static __inline void CPU_OR(cpu_set_t *destset, const cpu_set_t *srcset1,
-  const cpu_set_t *srcset2)
-{
-  CPU_OR_S(sizeof(*destset), destset, srcset1, srcset2);
-}
-
-static __inline void CPU_XOR_S(size_t setsize, cpu_set_t *destset,
-  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
-{
-  cpu_set_word_t *wdest = &destset->__bits[0];
-  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
-  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
-  size_t n = setsize / sizeof(*wdest);
-  size_t i;
-
-  for (i = 0; i < n; ++i)
-    wdest[i] = wsrc1[i] ^ wsrc2[i];
-}
-
-static __inline void CPU_XOR(cpu_set_t *destset, const cpu_set_t *srcset1,
-  const cpu_set_t *srcset2)
-{
-  CPU_XOR_S(sizeof(*destset), destset, srcset1, srcset2);
-}
-
-static __inline void CPU_NAND_S(size_t setsize, cpu_set_t *destset,
-  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
-{
-  cpu_set_word_t *wdest = &destset->__bits[0];
-  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
-  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
-  size_t n = setsize / sizeof(*wdest);
-  size_t i;
-
-  for (i = 0; i < n; ++i)
-    wdest[i] = ~(wsrc1[i] & wsrc2[i]);
-}
-
-static __inline void CPU_NAND(cpu_set_t *destset, const cpu_set_t *srcset1,
-  const cpu_set_t *srcset2)
-{
-  CPU_NAND_S(sizeof(*destset), destset, srcset1, srcset2);
-}
-
-static __inline int CPU_COUNT_S(size_t setsize, const cpu_set_t *set)
-{
-  int count = 0;
-  const cpu_set_word_t *w = &set->__bits[0];
-  size_t n = setsize / sizeof(*w);
-  size_t i;
-  int cpu;
-
-  for (i = 0; i < n; ++i)
-    for (cpu = 0; cpu < (int)_NCPUBITS; ++cpu)
-      count += (w[i] & __cpuset_mask(cpu)) != 0;
-
-  return count;
-}
-
-static __inline int CPU_COUNT(const cpu_set_t *set)
-{
-  return CPU_COUNT_S(sizeof(*set), set);
-}
-
-static __inline int CPU_EQUAL_S(size_t setsize, const cpu_set_t *set1,
-  const cpu_set_t *set2)
-{
-  const cpu_set_word_t *w1 = &set1->__bits[0];
-  const cpu_set_word_t *w2 = &set2->__bits[0];
-  size_t n = setsize / sizeof(*w1);
-  size_t i;
-
-  for (i = 0; i < n; ++i)
-    if (w1[i] != w2[i])
-      return 0;
-
-  return 1;
-}
-
-static __inline int CPU_EQUAL(const cpu_set_t *set1, const cpu_set_t *set2)
-{
-  return CPU_EQUAL_S(sizeof(*set1), set1, set2);
-}
-
-/* return 1 if the sets set1 and set2 are equal, otherwise return 0 */
-static __inline int CPU_CMP( const cpu_set_t *set1, const cpu_set_t *set2 )
-{
-  return CPU_EQUAL(set1, set2);
-}
-
-/* return 1 if the set is empty, otherwise return 0 */
-static __inline int CPU_EMPTY( const cpu_set_t *set )
-{
-  size_t i;
-
-  for (i=0; i < _NCPUWORDS; i++)
-    if (set->__bits[i] != 0 )
-      return 0;
-  return 1;
-}
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
diff --git a/newlib/libc/sys/rtems/sys/dirent.h b/newlib/libc/sys/rtems/sys/dirent.h
deleted file mode 100644
index 8d2aa38..0000000
--- a/newlib/libc/sys/rtems/sys/dirent.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef _SYS_DIRENT_H
-# define _SYS_DIRENT_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * This file was written to be compatible with the BSD directory
- * routines, so it looks like it.  But it was written from scratch.
- * Sean Eric Fagan, sef at Kithrup.COM
- *
- *  Copied to RTEMS configuration without modification.
- */
-
-typedef struct _dirdesc {
-	int	dd_fd;
-	long	dd_loc;
-	long	dd_size;
-	char	*dd_buf;
-	int	dd_len;
-	long	dd_seek;
-} DIR;
-
-# define __dirfd(dp)	((dp)->dd_fd)
-
-DIR *opendir(const char *);
-struct dirent *readdir(DIR *);
-int readdir_r(DIR *__restrict, struct dirent *__restrict,
-              struct dirent **__restrict);
-void rewinddir(DIR *);
-int closedir(DIR *);
-void seekdir(DIR *dir, long loc);
-long telldir(DIR *dir);
-
-#ifdef _COMPILING_NEWLIB
-void _seekdir(DIR *dir, long offset);
-#endif
-
-#include <sys/types.h>
-
-#include <limits.h>
-
-struct dirent {
-	long	d_ino;
-	off_t	d_off;
-	unsigned short	d_reclen;
-	/* we need better syntax for variable-sized arrays */
-	unsigned short	d_namlen;
-	char		d_name[NAME_MAX + 1];
-};
-
-int scandir ( const char *dirname,
-   struct dirent *** namelist,
-   int (*select)(const struct dirent *),
-   int (*dcomp)(const struct dirent **, const struct dirent **)
-);
-
-#ifdef __cplusplus
-}
-#endif 
-
-
-#endif
diff --git a/newlib/libc/sys/rtems/sys/param.h b/newlib/libc/sys/rtems/sys/param.h
deleted file mode 100644
index 808745f..0000000
--- a/newlib/libc/sys/rtems/sys/param.h
+++ /dev/null
@@ -1,217 +0,0 @@
-/*-
- * Copyright (c) 1982, 1986, 1989, 1993
- *	The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)param.h	8.3 (Berkeley) 4/4/95
- * $Id$
- */
-
-#ifndef _SYS_PARAM_H_
-#define _SYS_PARAM_H_
-
-/* from newlib's <sys/param.h> */
-
-#include <sys/config.h>
-#include <machine/endian.h>
-
-# define PATHSIZE (1024)
-
-/* end of from newlib's <sys/param.h> */
-
-#include <unistd.h>
-
-#define	BSD	199506		/* System version (year & month). */
-#define BSD4_3	1
-#define BSD4_4	1
-
-#ifndef NULL
-#define	NULL	0
-#endif
-
-#ifndef LOCORE
-#include <sys/types.h>
-#endif
-
-/*
- * Machine-independent constants (some used in following include files).
- * Redefined constants are from POSIX 1003.1 limits file.
- *
- * MAXCOMLEN should be >= sizeof(ac_comm) (see <acct.h>)
- */
-#include <sys/syslimits.h>
-
-#define	MAXCOMLEN	19		/* max command name remembered */
-#define	MAXINTERP	PATH_MAX	/* max interpreter file name length */
-#define	MAXLOGNAME	33		/* max login name length (incl. NUL) */
-#define	MAXUPRC		CHILD_MAX	/* max simultaneous processes */
-#define	NCARGS		ARG_MAX		/* max bytes for an exec function */
-#define	NGROUPS		(NGROUPS_MAX+1)	/* max number groups */
-#define	NOFILE		OPEN_MAX	/* max open files per process */
-#define	NOGROUP		65535		/* marker for empty group set member */
-#define MAXHOSTNAMELEN	256		/* max hostname size */
-#define SPECNAMELEN	63		/* max length of devicename */
-
-/* More types and definitions used throughout the kernel. */
-#if defined(KERNEL) || defined(_KERNEL)
-#include <sys/cdefs.h>
-#include <sys/errno.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/uio.h>
-#include <sys/priority.h>
-
-#ifndef FALSE
-#define	FALSE	0
-#endif
-#ifndef TRUE
-#define	TRUE	1
-#endif
-#endif
-
-/* Signals. */
-#include <sys/signal.h>
-
-/* Machine type dependent parameters. */
-#include <machine/param.h>
-#include <machine/limits.h>
-
-#define	PRIMASK	0x0ff
-#define	PCATCH	0x100		/* OR'd with pri for tsleep to check signals */
-
-#define	NZERO	0		/* default "nice" */
-
-#define	NBPW	sizeof(int)	/* number of bytes per word (integer) */
-
-#define	CMASK	022		/* default file mask: S_IWGRP|S_IWOTH */
-#define	NODEV	(dev_t)(-1)	/* non-existent device */
-
-#define	CBLOCK	128		/* Clist block size, must be a power of 2. */
-#define CBQSIZE	(CBLOCK/NBBY)	/* Quote bytes/cblock - can do better. */
-				/* Data chars/clist. */
-#define	CBSIZE	(CBLOCK - sizeof(struct cblock *) - CBQSIZE)
-#define	CROUND	(CBLOCK - 1)	/* Clist rounding. */
-
-/*
- * File system parameters and macros.
- *
- * MAXBSIZE -	Filesystems are made out of blocks of at most MAXBSIZE bytes
- *		per block.  MAXBSIZE may be made larger without effecting
- *		any existing filesystems as long as it does not exceed MAXPHYS,
- *		and may be made smaller at the risk of not being able to use
- *		filesystems which require a block size exceeding MAXBSIZE.
- *
- * BKVASIZE -	Nominal buffer space per buffer, in bytes.  BKVASIZE is the
- *		minimum KVM memory reservation the kernel is willing to make.
- *		Filesystems can of course request smaller chunks.  Actual 
- *		backing memory uses a chunk size of a page (PAGE_SIZE).
- *
- *		If you make BKVASIZE too small you risk seriously fragmenting
- *		the buffer KVM map which may slow things down a bit.  If you
- *		make it too big the kernel will not be able to optimally use 
- *		the KVM memory reserved for the buffer cache and will wind 
- *		up with too-few buffers.
- *
- *		The default is 16384, roughly 2x the block size used by a
- *		normal UFS filesystem.
- */
-#define MAXBSIZE	65536	/* must be power of 2 */
-#define BKVASIZE	16384	/* must be power of 2 */
-#define BKVAMASK	(BKVASIZE-1)
-
-/*
- * MAXPATHLEN defines the longest permissible path length after expanding
- * symbolic links. It is used to allocate a temporary buffer from the buffer
- * pool in which to do the name expansion, hence should be a power of two,
- * and must be less than or equal to MAXBSIZE.  MAXSYMLINKS defines the
- * maximum number of symbolic links that may be expanded in a path name.
- * It should be set high enough to allow all legitimate uses, but halt
- * infinite loops reasonably quickly.
- */
-#define	MAXPATHLEN	PATH_MAX
-#define MAXSYMLINKS	32
-
-/* Bit map related macros. */
-#define	setbit(a,i)	(((unsigned char *)(a))[(i)/NBBY] |= 1<<((i)%NBBY))
-#define	clrbit(a,i)	(((unsigned char *)(a))[(i)/NBBY] &= ~(1<<((i)%NBBY)))
-#define	isset(a,i)							\
-	(((const unsigned char *)(a))[(i)/NBBY] & (1<<((i)%NBBY)))
-#define	isclr(a,i)							\
-	((((const unsigned char *)(a))[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
-
-/* Macros for counting and rounding. */
-#ifndef howmany
-#define	howmany(x, y)	(((x)+((y)-1))/(y))
-#endif
-#define	rounddown(x, y)	(((x)/(y))*(y))
-#define	roundup(x, y)	((((x)+((y)-1))/(y))*(y))  /* to any y */
-#define	roundup2(x, y)	(((x)+((y)-1))&(~((y)-1))) /* if y is powers of two */
-#define powerof2(x)	((((x)-1)&(x))==0)
-
-/* Macros for min/max. */
-#if !(defined(KERNEL) || defined(_KERNEL))
-#define	MIN(a,b) (((a)<(b))?(a):(b))
-#define	MAX(a,b) (((a)>(b))?(a):(b))
-#endif
-
-/*
- * Constants for setting the parameters of the kernel memory allocator.
- *
- * 2 ** MINBUCKET is the smallest unit of memory that will be
- * allocated. It must be at least large enough to hold a pointer.
- *
- * Units of memory less or equal to MAXALLOCSAVE will permanently
- * allocate physical memory; requests for these size pieces of
- * memory are quite fast. Allocations greater than MAXALLOCSAVE must
- * always allocate and free physical memory; requests for these
- * size allocations should be done infrequently as they will be slow.
- *
- * Constraints: PAGE_SIZE <= MAXALLOCSAVE <= 2 ** (MINBUCKET + 14), and
- * MAXALLOCSIZE must be a power of two.
- */
-#define MINBUCKET	4		/* 4 => min allocation of 16 bytes */
-#define MAXALLOCSAVE	(2 * PAGE_SIZE)
-
-/*
- * Scale factor for scaled integers used to count %cpu time and load avgs.
- *
- * The number of CPU `tick's that map to a unique `%age' can be expressed
- * by the formula (1 / (2 ^ (FSHIFT - 11))).  The maximum load average that
- * can be calculated (assuming 32 bits) can be closely approximated using
- * the formula (2 ^ (2 * (16 - FSHIFT))) for (FSHIFT < 15).
- *
- * For the scheduler to maintain a 1:1 mapping of CPU `tick' to `%age',
- * FSHIFT must be at least 11; this gives us a maximum load avg of ~1024.
- */
-#define	FSHIFT	11		/* bits to right of fixed binary point */
-#define FSCALE	(1<<FSHIFT)
-
-#endif	/* _SYS_PARAM_H_ */
diff --git a/newlib/libc/sys/rtems/sys/syslimits.h b/newlib/libc/sys/rtems/sys/syslimits.h
deleted file mode 100644
index 2295afe..0000000
--- a/newlib/libc/sys/rtems/sys/syslimits.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 1988, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)syslimits.h	8.1 (Berkeley) 6/2/93
- * $Id$
- */
-
-#ifndef _SYS_SYSLIMITS_H_
-#define _SYS_SYSLIMITS_H_
-
-#define	ARG_MAX			 4096	/* max bytes for an exec function */
-#ifndef CHILD_MAX
-#define	CHILD_MAX		    6	/* max simultaneous processes */
-#endif
-#define	LINK_MAX		    8	/* max file link count */
-#define	MAX_CANON		  255	/* max bytes in term canon input line */
-#define	MAX_INPUT		  255	/* max bytes in terminal input */
-#define	NAME_MAX		  255	/* max bytes in a file name */
-#define	NGROUPS_MAX		   15	/* max supplemental group id's */
-#ifndef OPEN_MAX
-#define	OPEN_MAX		   64	/* max open files per process */
-#endif
-#define	PATH_MAX		  255	/* max bytes in pathname */
-#define	PIPE_BUF		  512	/* max bytes for atomic pipe writes */
-#define	IOV_MAX			 1024	/* max elements in i/o vector */
-#define	BC_BASE_MAX		   99	/* max ibase/obase values in bc(1) */
-#define	BC_DIM_MAX		 2048	/* max array elements in bc(1) */
-#define	BC_SCALE_MAX		   99	/* max scale value in bc(1) */
-#define	BC_STRING_MAX		 1000	/* max const string length in bc(1) */
-#define	COLL_WEIGHTS_MAX	    0	/* max weights for order keyword */
-#define	EXPR_NEST_MAX		   32	/* max expressions nested in expr(1) */
-#define	LINE_MAX		 2048	/* max bytes in an input line */
-#define	RE_DUP_MAX		  255	/* max RE's in interval notation */
-
-#endif
diff --git a/newlib/libc/sys/rtems/sys/utime.h b/newlib/libc/sys/rtems/sys/utime.h
deleted file mode 100644
index 561136b..0000000
--- a/newlib/libc/sys/rtems/sys/utime.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *  $Id$
- */
-
-#ifndef __UTIME_h__
-#define __UTIME_h__
-
-#include <sys/types.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- *  POSIX 1003.1b 5.6.6 Set File Access and Modification Times
- */
-
-struct utimbuf {
-  time_t  actime;   /* Access time */
-  time_t  modtime;  /* Modification time */
-};
-
-/* Functions */
-
-int utime(
-  const char           *path,
-  const struct utimbuf *times
-);
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif /* _SYS_UTIME_H */
-- 
1.8.4.5




More information about the devel mailing list