summaryrefslogtreecommitdiff
path: root/ecos/packages/isoinfra
diff options
context:
space:
mode:
authorMichael Gielda <mgielda@antmicro.com>2014-04-03 14:53:04 +0200
committerMichael Gielda <mgielda@antmicro.com>2014-04-03 14:53:04 +0200
commitae1e4e08a1005a0c487f03ba189d7536e7fdcba6 (patch)
treef1c296f8a966a9a39876b0e98e16d9c5da1776dd /ecos/packages/isoinfra
parentf157da5337118d3c5cd464266796de4262ac9dbd (diff)
Added the OS files
Diffstat (limited to 'ecos/packages/isoinfra')
-rw-r--r--ecos/packages/isoinfra/current/ChangeLog459
-rw-r--r--ecos/packages/isoinfra/current/cdl/isoinfra.cdl1251
-rw-r--r--ecos/packages/isoinfra/current/include/assert.h120
-rw-r--r--ecos/packages/isoinfra/current/include/ctype.h131
-rw-r--r--ecos/packages/isoinfra/current/include/dirent.h94
-rw-r--r--ecos/packages/isoinfra/current/include/dlfcn.h64
-rw-r--r--ecos/packages/isoinfra/current/include/errno.h75
-rw-r--r--ecos/packages/isoinfra/current/include/fcntl.h168
-rw-r--r--ecos/packages/isoinfra/current/include/float.h66
-rw-r--r--ecos/packages/isoinfra/current/include/fnmatch.h70
-rw-r--r--ecos/packages/isoinfra/current/include/limits.h224
-rw-r--r--ecos/packages/isoinfra/current/include/locale.h147
-rw-r--r--ecos/packages/isoinfra/current/include/mqueue.h148
-rw-r--r--ecos/packages/isoinfra/current/include/netdb.h106
-rw-r--r--ecos/packages/isoinfra/current/include/pthread.h78
-rw-r--r--ecos/packages/isoinfra/current/include/sched.h124
-rw-r--r--ecos/packages/isoinfra/current/include/semaphore.h72
-rw-r--r--ecos/packages/isoinfra/current/include/setjmp.h74
-rw-r--r--ecos/packages/isoinfra/current/include/signal.h75
-rw-r--r--ecos/packages/isoinfra/current/include/stdarg.h66
-rw-r--r--ecos/packages/isoinfra/current/include/stddef.h65
-rw-r--r--ecos/packages/isoinfra/current/include/stdio.h155
-rw-r--r--ecos/packages/isoinfra/current/include/stdlib.h507
-rw-r--r--ecos/packages/isoinfra/current/include/string.h129
-rw-r--r--ecos/packages/isoinfra/current/include/sys/select.h162
-rw-r--r--ecos/packages/isoinfra/current/include/sys/stat.h157
-rw-r--r--ecos/packages/isoinfra/current/include/sys/time.h90
-rw-r--r--ecos/packages/isoinfra/current/include/sys/types.h117
-rw-r--r--ecos/packages/isoinfra/current/include/sys/utsname.h68
-rw-r--r--ecos/packages/isoinfra/current/include/termios.h251
-rw-r--r--ecos/packages/isoinfra/current/include/time.h158
-rw-r--r--ecos/packages/isoinfra/current/include/unistd.h276
32 files changed, 5747 insertions, 0 deletions
diff --git a/ecos/packages/isoinfra/current/ChangeLog b/ecos/packages/isoinfra/current/ChangeLog
new file mode 100644
index 0000000..a5624fe
--- /dev/null
+++ b/ecos/packages/isoinfra/current/ChangeLog
@@ -0,0 +1,459 @@
+2012-03-09 Jonathan Larmour <jifl@eCosCentric.com>
+
+ * include/time.h: Add suseconds_t and useconds_t here for now.
+ * include/sys/time.h: Use suseconds_t when defining struct timeval.
+
+2009-06-03 Ross Younger <wry@ecoscentric.com>
+
+ * include/sys/stat.h: Include cyg_type.h for __externC
+
+2009-05-12 Simon Kallweit <simon.kallweit@intefo.ch>
+
+ * include/sys/types.h:
+ * include/limits.h:
+ Fixed typo in CYGBLD_ISO_SSIZET_HEADER.
+
+2009-02-24 Rutger Hofmman <rutger@cs.vu.nl>
+
+ * include/sys/stat.h: chmod() prototype
+
+2007-01-24 Peter Korsgaard <peter.korsgaard@barco.com>
+
+ * cdl/isoinfra.cdl:
+ * include/fnmatch.h: fnmatch() support.
+
+2006-03-17 Sergei Organov <osv@javad.com>
+
+ * include/assert.h: Replace #if defined(CYGINT_ISO_EXIT) with #if
+ CYGINT_ISO_EXIT. CYGINT_ISO_EXIT configuration variable is always
+ defined to either 0 or 1, so check of the former form is always
+ evaluated to true.
+
+2005-10-20 Alexander Neundorf <neundorf@kde.org>
+ Andrew Lunn <andrew.lunn@ascom.ch>
+
+ * include/sys/time.h (new): Basic implementation.
+ * include/time.h: Removed timeval which is now in sys/time.h
+
+2005-07-22 Andrew Lunn <andrew.lunn@ascom.ch>
+
+ * include/unistd.h: Const correctness to keep the compiler happy.
+
+2004-03-30 Alex Paulis and Cameron Taylor <ctaylor@waverider.com>
+
+ * include/sys/select.h: set FD_SETSIZE to CYGNUM_FILEIO_NFD
+ when appropriate.
+
+2004-03-12 Jonathan Larmour <jifl@eCosCentric.com>
+
+ * cdl/isoinfra.cdl: Typo: CYGBLD_ISO_STDIO_FILEPOS ->
+ CYGBLD_ISO_STDIO_FILEPOS_HEADER.
+
+ * include/limits.h: Avoid potential illegal recursion if
+ already been included by GCC's limits.h.
+
+ * include/stdio.h: Include stdarg.h to save duplication.
+ Give fileno(),fdopen() throw specifiers.
+
+ * include/unistd.h: Prototype for rename() lives in stdio.h.
+
+2004-01-07 Jonathan Larmour <jifl@eCosCentric.com>
+
+ * include/sys/select.h: Only declare pselect() when posix signals are
+ included.
+
+2003-07-15 Andrew Lunn <andrew.lunn@ascom.ch>
+
+ * include/sys/stat.h (S_ISGID): Please, somebody teach me to count!
+
+2003-07-10 Andrew Lunn <andrew.lunn@ascom.ch>
+
+ * include/sys/stat.h :S_I[RWX]{USR|GRP|OTH} etc changed so they
+ don't overlap with S_ISLINK and S_ISSOCK. Reported by Scott
+ Wilkinson.
+
+2003-06-10 Andrew Lunn <andrew.lunn@ascom.ch>
+
+ * include/sys/stat.h: S_IFFIFO defies logic and should be called
+ S_IFIFO!
+
+2003-05-26 Andrew Lunn <andrew.lunn@ascom.ch>
+
+ * include/sys/stat.h (S_IF*): Added macros to test the type of a
+ file.
+
+2003-05-23 Andrew Lunn <andrew.lunn@ascom.ch>
+
+ * include/sys/stat.h: Added various S_IF macros for the st_mode
+ flags.
+
+2003-01-13 Jonathan Larmour <jifl@eCosCentric.com>
+
+ * include/mqueue.h: Define POSIX 1003.1d draft mq_timedsend() and
+ mq_timedreceive() functions.
+
+2002-12-12 Bart Veer <bartv@ecoscentric.com>
+
+ * include/stdlib.h: #include cyg_type.h, now that this header
+ uses NORET attributes
+
+2002-11-10 Nick Garnett <nickg@ecoscentric.com>
+
+ * include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
+ around include of sys/select.h to avoid circular dependencies in
+ headers.
+
+ * include/sys/select.h: Reorganized definitions so that the
+ include from sys/types.h only defines the fd_set type and macros
+ and not the select() and pselect() functions. The latter needs
+ sigset_t from signal.h, which can result in circularity.
+
+2002-04-09 Jonathan Larmour <jlarmour@redhat.com>
+
+ * include/stdlib.h: use NORET attributes from cyg_type.h.
+
+2002-03-20 Jonathan Larmour <jlarmour@redhat.com>
+
+ * include/float.h: Don't have multiple inclusion protection. It is
+ unnecessary and can confuse things if the headers are subject to two
+ -I paths.
+ * include/stdarg.h: Ditto.
+ * include/float.h: Don't cover include_next with inclusion protection
+ for a similar reason.
+ * include/stddef.h: Use C comment.
+
+2002-01-17 Jonathan Larmour <jlarmour@redhat.com>
+
+ * include/unistd.h: ftruncate() should use an off_t argument.
+
+2002-01-15 Jonathan Larmour <jlarmour@redhat.com>
+
+ * include/sys/types.h: off_t should be signed.
+
+2001-12-05 Jonathan Larmour <jlarmour@redhat.com>
+
+ * include/netdb.h (gethostbyname): anonymous arguments aren't allowed
+ in C (I thought they were a GNU C extension, sigh).
+
+2001-11-30 Jonathan Larmour <jlarmour@redhat.com>
+2001-11-30 Andrew Lunn <andrew.lunn@ascom.ch>
+
+ * include/netdb.h: Provide a default NULL implementation of
+ struct hostent, gethostbyname and gethostbyaddr if a real implementation
+ doesn't exist. This makes life easier for legacy code.
+
+2001-10-17 Jesper Skov <jskov@redhat.com>
+
+ * cdl/isoinfra.cdl: Changed string interfaces to flavor booldata.
+
+ * include/string.h: Changed feature checks to ifdef.
+
+2001-10-09 Jonathan Larmour <jlarmour@redhat.com>
+
+ * cdl/isoinfra.cdl: Make all CYGPKG_ISO_TIME interfaces be booldata.
+ Add config for POSIX clock types and implementations.
+ Make all CYGPKG_ISO_PTHREAD interfaces be booldata.
+ Add POSIX sleep() config.
+
+ * include/pthread.h: Reflect booldata interfaces.
+ * include/time.h: Ditto.
+ Also add default struct itimerspec and POSIX clock includes.
+ * include/unistd.h: Add sleep includes, with default proto.
+
+2001-09-28 Jonathan Larmour <jlarmour@redhat.com>
+
+ * cdl/isoinfra.cdl: Add netdb services and proto function support.
+ * include/netdb.h: New file.
+
+2001-09-24 Jesper Skov <jskov@redhat.com>
+
+ * cdl/isoinfra.cdl: Added CYGINT_ISO_DNS and
+ CYGBLD_ISO_DNS_HEADER.
+
+2001-09-12 Jesper Skov <jskov@redhat.com>
+
+ * include/limits.h: Work around glibc header problem.
+
+2001-09-10 Jonathan Larmour <jlarmour@redhat.com>
+
+ * cdl/isoinfra.cdl: Add CYGINT_ISO_PTHREAD_MUTEX and
+ CYGBLD_ISO_PTHREAD_MUTEX_HEADER.
+ * include/pthread.h: Include above header if set.
+
+2001-08-06 Jonathan Larmour <jlarmour@redhat.com>
+
+ * cdl/isoinfra.cdl: Add a separate POSIX mutex types header option.
+ * include/sys/types.h: Include it.
+ * include/time.h: Provide a default struct timespec even if the
+ implementation doesn't provide something better.
+
+2001-07-26 Jonathan Larmour <jlarmour@redhat.com>
+
+ * include/sys/types.h: Move select() related stuff into separate
+ sys/select header. Include it still for now.
+ * include/sys/select.h: New header, as per upcoming POSIX 200x standard.
+
+ * cdl/isoinfra.cdl: Add configury for select() and poll().
+
+
+2001-07-20 Jonathan Larmour <jlarmour@redhat.com>
+
+ * include/stdlib.h: Use correct macro names for abs and div.
+
+2001-06-08 Jonathan Larmour <jlarmour@redhat.com>
+
+ * include/stdlib.h: Actually set MB_CUR_MAX in i18n package via header.
+ * cdl/isoinfra.cdl: Define multibyte char headers/interfaces
+
+2000-06-08 Jeff Johnston <jjohnstn@redhat.com>
+
+ * include/stdlib.h: Add code to set MB_CUR_MAX to __mb_cur_max
+ if CYGFUN_LIBC_I18N_MB is defined, otherwise set it to 1.
+
+2001-02-11 Jonathan Larmour <jlarmour@redhat.com>
+
+ * cdl/isoinfra.cdl: Add CYGPKG_ISO_UNISTD to deal with unistd.h
+ Include POSIX timer operations underneath it.
+
+ * include/unistd.h: Add support for conditional inclusion of
+ POSIX timer operations.
+
+2001-02-01 Jonathan Larmour <jlarmour@redhat.com>
+
+ * cdl/isoinfra.cdl: Add CYGINT_ISO_STDIO_POSIX_FDFUNCS and
+ CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER primarily for fileno()
+ and fdopen()
+ * include/stdio.h: Use above to provide default protos for fileno
+ and fdopen.
+
+2000-12-15 Nick Garnett <nickg@cygnus.co.uk>
+
+ * include/dlfcn.h:
+ * cdl/isoinfra.cdl:
+ Added support for dlfcn.h header that defines dynamic load API.
+
+2000-11-01 Jonathan Larmour <jlarmour@redhat.com>
+
+ * cdl/isoinfra.cdl: Add CYGINT_ISO_STDIO_STREAMS and
+ CYGBLD_ISO_STDIO_STREAMS_HEADER.
+ Change flavor of other stdio interfaces to booldata
+ * include/stdio.h: Use #ifdefs not #ifs on interfaces to reflect above
+ Add CYGINT_ISO_STDIO_STREAMS and CYGBLD_ISO_STDIO_STREAMS_HEADER.
+
+2000-10-05 Nick Garnett <nickg@cygnus.co.uk>
+
+ * include/sys/types.h: Changed type of pid_t to plain int. It
+ needs to be signed.
+
+ * include/unistd.h: Fixed prototypes of several functions to match
+ POSIX standard.
+
+2000-09-11 Jonathan Larmour <jlarmour@redhat.com>
+
+ * cdl/isoinfra.cdl: Add CYGBLD_ISO_{OPEN,LINK,NAME,PATH}_MAX_HEADER
+ * include/limits.h: Support definition of OPEN_MAX, LINK_MAX,
+ NAME_MAX, PATH_MAX
+
+2000-08-30 Jonathan Larmour <jlarmour@redhat.co.uk>
+
+ * include/assert.h (assert): Fix logic
+
+2000-08-29 Jonathan Larmour <jlarmour@redhat.co.uk>
+
+ * include/stddef.h: Don't use CYGONCE_ multiple header inclusion
+ protection for this file - this is special.
+
+2000-08-08 Jonathan Larmour <jlarmour@redhat.co.uk>
+
+ * include/limits.h: Add SSIZE_MAX
+
+2000-08-03 Jonathan Larmour <jlarmour@redhat.co.uk>
+
+ * include/sys/types.h: Make fd_mask unsigned int, not cyg_uint32 so
+ as to avoid including cyg_type.h
+
+2000-08-01 Jonathan Larmour <jlarmour@redhat.co.uk>
+
+ * cdl/isoinfra.cdl: Support termios
+ * include/termios.h: Added
+
+2000-07-21 Jonathan Larmour <jlarmour@redhat.co.uk>
+
+ * cdl/isoinfra.cdl: CYGNUM_ISO_MQUEUE_OPEN_MAX and
+ CYGNUM_ISO_MQUEUE_PRIO_MAX should only be active if CYGINT_ISO_MQUEUE
+ rather than them requiring it
+
+2000-07-20 Nick Garnett <nickg@cygnus.co.uk>
+
+ * cdl/isoinfra.cdl: Added configury for sys/utsname.h.
+
+ * include/unistd.h: Added _POSIX_VERSION constant.
+ Changed return type of sysconf() to long.
+
+ * include/sys/utsname.h: Added this file.
+
+2000-07-13 Nick Garnett <nickg@cygnus.co.uk>
+
+ * include/unistd.h: Added fsync() prototype.
+
+2000-07-13 Jonathan Larmour <jlarmour@redhat.co.uk>
+
+ * cdl/isoinfra.cdl: Add CYGINT_ISO_MALLINFO and
+ CYGBLD_ISO_MALLINFO_HEADER to support mallinfo()
+
+ * include/stdlib.h: Support mallinfo()
+
+2000-06-28 Nick Garnett <nickg@cygnus.co.uk>
+
+ * include/sys/stat.h: Added prototypes for stat(), fstat() and
+ mkdir().
+
+ * include/dirent.h: Added this file to provide directory reading
+ support.
+
+ * cdl/isoinfra.cdl: Added dirent support.
+
+2000-06-21 Jonathan Larmour <jlarmour@redhat.co.uk>
+
+ * cdl/isoinfra.cdl: Put in below requires line, but change to allow
+ 0 or 1 implementations
+
+2000-06-19 Nick Garnett <nickg@cygnus.co.uk>
+
+ * cdl/isoinfra.cdl: Commented out requires line in
+ CYGINT_POSIX_REALTIME_SIGNALS interface. This causes configuration
+ errors when the POSIX package is absent.
+
+ * include/sys/types.h: Reimplemented FD_COPY() and FD_ZERO() as
+ inline copy loops rather than calls to memcpy() and memset().
+
+2000-06-09 Jonathan Larmour <jlarmour@redhat.co.uk>
+
+ * include/time.h: Following the below change, simply define struct
+ timeval, while allowing it to be overridden if necessary
+ * cdl/isoinfra.cdl (CYGBLD_ISO_STRUCTTIMEVAL_HEADER): define for this
+ purpose
+
+2000-06-09 Nick Garnett <nickg@cygnus.co.uk>
+
+ * include/time.h: Added definition of struct timeval. This is a
+ temporary home for this while we work out where definitions like
+ this should really live. Like the fd_set stuff in sys/types.h,
+ this is needed by two packages, both of which can operate
+ independently but which also need to co-operate when they are both
+ present.
+
+2000-06-07 Nick Garnett <nickg@cygnus.co.uk>
+
+ * include/sys/types.h: Added definitions for file descriptor sets
+ and inclusion of BSD specific types.
+
+ * include/stdlib.h: Added extern for environ variable in non-POSIX
+ builds.
+
+ * include/fcntl.h (O_WRONLY): Moved this to bit 1, leaving bit 2
+ for future expansion.
+
+ * cdl/isoinfra.cdl: Added CYGPKG_ISO_EXTRA_TYPES to control
+ inclusion of types into <sys/types.h> that are not specified by
+ POSIX. Mostly needed by the socket and BSD code.
+
+2000-06-02 Nick Garnett <nickg@cygnus.co.uk>
+
+ * include/unistd.h: Added this initial version of this file. Jifl
+ will probably want to rewrite it at some point.
+
+ * include/fcntl.h: Changed O_RDWR to (O_RDONLY|O_WRONLY).
+
+2000-05-31 Nick Garnett <nickg@cygnus.co.uk>
+
+ * include/fcntl.h: Fixed ifdefs around extern declaration of
+ fcntl().
+
+2000-05-20 Jonathan Larmour <jlarmour@redhat.co.uk>
+
+ * include/fcntl.h: new file
+ * include/mqueue.h: new file
+ * include/sys/stat.h: new file
+
+ * cdl/isoinfra.cdl: No need for memcpy and memset interfaces - they're
+ always present
+ (CYGINT_ISO_POSIX_TIMERS): define _POSIX_TIMERS if enabled
+ (CYGINT_POSIX_REALTIME_SIGNALS): add
+ (CYGPKG_ISO_POSIX_FCNTL): Add a number of hooks for things that need
+ to control fcntl.h
+ (CYGPKG_ISO_MQUEUE): Add a number of hooks for things that need
+ to control mqueue.h
+ (CYGBLD_ISO_STAT_DEFS_HEADER): Add to override default sys/stat.h
+ contents
+
+ Fix some typos throughout, and a few other minor tidies
+
+ * include/limits.h: Move _POSIX_* macros here from POSIX package since
+ they are implementation independent
+
+ * include/time.h: Keep CLOCKS_PER_SEC at 1000000
+
+ * include/sys/types.h: Bring some of the types more in line with Linux
+
+ * include/ctype.h, include/errno.h, include/limits.h, include/locale.h,
+ include/pthread.h, include/sched.h, include/semaphore.h,
+ include/setjmp.h, include/signal.h, include/stdio.h, include/stdlib.h,
+ include/string.h, include/time.h, include/sys/types.h:
+ Don't need to explicitly check interface values > 0
+
+2000-05-02 Jonathan Larmour <jlarmour@redhat.co.uk>
+
+ * include/time.h: Provide default definitions of time_t, clock_t and
+ CLOCKS_PER_SEC
+
+ * cdl/isoinfra.cdl: Remove CYGINT_ISO_TIME_T and CYGINT_ISO_CLOCK_T -
+ not really needed with a default definition
+
+ * New package isoinfra with the following files:
+ include/errno.h
+ include/sys/types.h
+ include/assert.h
+ include/stddef.h
+ include/string.h
+ include/setjmp.h
+ include/ctype.h
+ include/float.h
+ include/sched.h
+ include/stdarg.h
+ include/semaphore.h
+ include/time.h
+ include/signal.h
+ include/locale.h
+ include/pthread.h
+ include/stdio.h
+ include/stdlib.h
+ include/limits.h
+ cdl/isoinfra.cdl
+
+ This package manages the ISO standard (C and POSIX) top-level header
+ files
+
+//===========================================================================
+// ####GPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 or (at your option) any
+// later version.
+//
+// This program 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
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the
+// Free Software Foundation, Inc., 51 Franklin Street,
+// Fifth Floor, Boston, MA 02110-1301, USA.
+// -------------------------------------------
+// ####GPLCOPYRIGHTEND####
+//===========================================================================
diff --git a/ecos/packages/isoinfra/current/cdl/isoinfra.cdl b/ecos/packages/isoinfra/current/cdl/isoinfra.cdl
new file mode 100644
index 0000000..41ae55b
--- /dev/null
+++ b/ecos/packages/isoinfra/current/cdl/isoinfra.cdl
@@ -0,0 +1,1251 @@
+# ====================================================================
+#
+# isoinfra.cdl
+#
+# ISO C and POSIX standards infrastructure package configuration data
+#
+# ====================================================================
+## ####ECOSGPLCOPYRIGHTBEGIN####
+## -------------------------------------------
+## This file is part of eCos, the Embedded Configurable Operating System.
+## Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+##
+## eCos is free software; you can redistribute it and/or modify it under
+## the terms of the GNU General Public License as published by the Free
+## Software Foundation; either version 2 or (at your option) any later
+## version.
+##
+## eCos 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 General Public License
+## for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with eCos; if not, write to the Free Software Foundation, Inc.,
+## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+##
+## As a special exception, if other files instantiate templates or use
+## macros or inline functions from this file, or you compile this file
+## and link it with other works to produce a work based on this file,
+## this file does not by itself cause the resulting work to be covered by
+## the GNU General Public License. However the source code for this file
+## must still be made available in accordance with section (3) of the GNU
+## General Public License v2.
+##
+## This exception does not invalidate any other reasons why a work based
+## on this file might be covered by the GNU General Public License.
+## -------------------------------------------
+## ####ECOSGPLCOPYRIGHTEND####
+# ====================================================================
+######DESCRIPTIONBEGIN####
+#
+# Author(s): jlarmour
+# Contributors:
+# Date: 2000-04-07
+#
+#####DESCRIPTIONEND####
+#
+# ====================================================================
+
+cdl_package CYGPKG_ISOINFRA {
+ display "ISO C and POSIX infrastructure"
+ description "
+ eCos supports implementations of ISO C libraries and POSIX
+ implementations. This package provides infrastructure used by
+ all such implementations."
+
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_STARTUP {
+ display "Startup and termination"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_MAIN_STARTUP {
+ display "main() startup implementations"
+ description "
+ Implementations of this interface arrange for a user-supplied
+ main() to be called in an ISO compatible environment."
+ requires { 1 >= CYGINT_ISO_MAIN_STARTUP }
+ }
+
+ cdl_interface CYGINT_ISO_ENVIRON {
+ display "environ implementations"
+ description "
+ Implementations of this interface provide the environ
+ variable required by POSIX."
+ requires { 1 >= CYGINT_ISO_ENVIRON }
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_CTYPE_H {
+ display "ctype.h functions"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_CTYPE {
+ display "Number of implementations of ctype functions"
+ requires { 1 >= CYGINT_ISO_CTYPE }
+ }
+
+ cdl_option CYGBLD_ISO_CTYPE_HEADER {
+ display "Ctype implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_ERRNO {
+ display "Error handling"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_ERRNO_CODES {
+ display "Number of implementations of error codes"
+ requires { 1 >= CYGINT_ISO_ERRNO_CODES }
+ }
+
+ cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
+ display "Error codes implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_ERRNO {
+ display "Number of implementations of errno variable"
+ requires { 1 >= CYGINT_ISO_ERRNO }
+ }
+
+ cdl_option CYGBLD_ISO_ERRNO_HEADER {
+ display "errno variable implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_LOCALE {
+ display "Locale-related functions"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_LOCALE {
+ display "Number of implementations of locale functions"
+ requires { 1 >= CYGINT_ISO_LOCALE }
+ }
+
+ cdl_option CYGBLD_ISO_LOCALE_HEADER {
+ display "Locale implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_STDIO {
+ display "Standard I/O-related functionality"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_STDIO_FILETYPES {
+ display "Number of implementations of stdio file types"
+ flavor booldata
+ requires { 1 >= CYGINT_ISO_STDIO_FILETYPES }
+ }
+
+ cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
+ display "Stdio file types implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STDIO_STREAMS {
+ display "Stdio standard streams implementations"
+ flavor booldata
+ requires { 1 >= CYGINT_ISO_STDIO_STREAMS }
+ }
+
+ cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
+ display "Stdio standard streams implementation header"
+ description "This header file must define stdin, stdout
+ and stderr."
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STDIO_FILEOPS {
+ display "Number of implementations of stdio file operations"
+ flavor booldata
+ requires { 1 >= CYGINT_ISO_STDIO_FILEOPS }
+ }
+
+ cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
+ display "Stdio file operations implementation header"
+ description "
+ This header controls the file system operations on a file
+ such as remove(), rename(), tmpfile(), tmpnam() and associated
+ constants."
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
+ display "Number of implementations of stdio file access \
+ functionals"
+ flavor booldata
+ requires { 1 >= CYGINT_ISO_STDIO_FILEACCESS }
+ }
+
+ cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
+ display "Stdio file access implementation header"
+ description "
+ This header controls the file access operations
+ such as fclose(), fflush(), fopen(), freopen(), setbuf(),
+ setvbuf(), and associated constants."
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
+ display "Number of implementations of stdio formatted I/O"
+ flavor booldata
+ requires { 1 >= CYGINT_ISO_STDIO_FORMATTED_IO }
+ }
+
+ cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
+ display "Stdio formatted I/O implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
+ display "Number of implementations of stdio character I/O"
+ flavor booldata
+ requires { 1 >= CYGINT_ISO_STDIO_CHAR_IO }
+ }
+
+ cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
+ display "Stdio character I/O implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
+ display "Number of implementations of stdio direct I/O"
+ flavor booldata
+ requires { 1 >= CYGINT_ISO_STDIO_DIRECT_IO }
+ }
+
+ cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
+ display "Stdio direct I/O implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STDIO_FILEPOS {
+ display "Number of implementations of stdio file positioning"
+ flavor booldata
+ requires { 1 >= CYGINT_ISO_STDIO_FILEPOS }
+ }
+
+ cdl_option CYGBLD_ISO_STDIO_FILEPOS_HEADER {
+ display "Stdio file positioning implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STDIO_ERROR {
+ display "Number of implementations of stdio error handling"
+ flavor booldata
+ requires { 1 >= CYGINT_ISO_STDIO_ERROR }
+ }
+
+ cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
+ display "Stdio error handling implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
+ display "POSIX fd-related function implementations"
+ flavor booldata
+ requires { 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS }
+ }
+
+ cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
+ display "POSIX fd-related function implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_STDLIB {
+ display "Standard general utility functions"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_STDLIB_STRCONV {
+ display "String conversion function implementations"
+ requires { 1 >= CYGINT_ISO_STDLIB_STRCONV }
+ }
+
+ cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
+ display "String conversion function implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
+ display "String to FP conversion function implementations"
+ requires { 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT }
+ }
+
+ cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
+ display "String to FP conversion function implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_RAND {
+ display "Random number generator implementations"
+ requires { 1 >= CYGINT_ISO_RAND }
+ }
+
+ cdl_option CYGBLD_ISO_RAND_HEADER {
+ display "Random number generator implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_MALLOC {
+ display "Malloc implementations"
+ requires { 1 >= CYGINT_ISO_MALLOC }
+ }
+
+ cdl_option CYGBLD_ISO_MALLOC_HEADER {
+ display "Malloc implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_MALLINFO {
+ display "Mallinfo() implementations"
+ requires { 1 >= CYGINT_ISO_MALLINFO }
+ }
+
+ cdl_option CYGBLD_ISO_MALLINFO_HEADER {
+ display "Mallinfo() implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_EXIT {
+ display "Program exit functionality implementations"
+ requires { 1 >= CYGINT_ISO_EXIT }
+ }
+
+ cdl_option CYGBLD_ISO_EXIT_HEADER {
+ display "Program exit functionality implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
+ display "Program environment implementations"
+ requires { 1 >= CYGINT_ISO_STDLIB_ENVIRON }
+ }
+
+ cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
+ display "Program environment implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
+ display "system() implementations"
+ requires { 1 >= CYGINT_ISO_STDLIB_SYSTEM }
+ }
+
+ cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
+ display "system() implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_BSEARCH {
+ display "bsearch() implementations"
+ requires { 1 >= CYGINT_ISO_BSEARCH }
+ }
+
+ cdl_option CYGBLD_ISO_BSEARCH_HEADER {
+ display "bsearch() implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_QSORT {
+ display "qsort() implementations"
+ requires { 1 >= CYGINT_ISO_STDLIB_QSORT }
+ }
+
+ cdl_option CYGBLD_ISO_QSORT_HEADER {
+ display "qsort() implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_ABS {
+ display "abs()/labs() implementations"
+ requires { 1 >= CYGINT_ISO_STDLIB_ABS }
+ }
+
+ cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
+ display "abs()/labs() implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_DIV {
+ display "div()/ldiv() implementations"
+ requires { 1 >= CYGINT_ISO_STDLIB_DIV }
+ }
+
+ cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
+ display "div()/ldiv() implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
+ display "Header defining the implementation's MB_CUR_MAX"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
+ display "Multibyte character implementations"
+ requires { 1 >= CYGINT_ISO_STDLIB_MULTIBYTE }
+ }
+
+ cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
+ display "Multibyte character implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_STRING {
+ display "String functions"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_STRERROR {
+ display "Number of implementations of strerror() function"
+ requires { 1 >= CYGINT_ISO_STRERROR }
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_STRERROR_HEADER {
+ display "strerror() implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_option CYGBLD_ISO_MEMCPY_HEADER {
+ display "memcpy() implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_option CYGBLD_ISO_MEMSET_HEADER {
+ display "memset() implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STRTOK_R {
+ display "Number of implementations of strtok_r() function"
+ requires { 1 >= CYGINT_ISO_STRTOK_R }
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
+ display "strtok_r() implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
+ display "Number of implementations of locale-specific string \
+ functions"
+ description "
+ This covers locale-dependent string functions such as strcoll()
+ and strxfrm()."
+ requires { 1 >= CYGINT_ISO_STRING_LOCALE_FUNCS }
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
+ display "Locale-specific string functions' implementation \
+ header"
+ description "
+ This covers locale-dependent string functions such as strcoll()
+ and strxfrm()."
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
+ display "Number of implementations of BSD string functions"
+ requires { 1 >= CYGINT_ISO_STRING_BSD_FUNCS }
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
+ display "BSD string functions' implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
+ display "Number of implementations of other mem*() functions"
+ requires { 1 >= CYGINT_ISO_STRING_MEMFUNCS }
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
+ display "Other mem*() functions' implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_STRING_STRFUNCS {
+ display "Number of implementations of other ISO C str*() \
+ functions"
+ description "
+ This covers the other str*() functions defined by ISO C."
+ requires { 1 >= CYGINT_ISO_STRING_STRFUNCS }
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
+ display "Other ISO C str*() functions' implementation \
+ header"
+ description "
+ This covers the other str*() functions defined by ISO C."
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_TIME {
+ display "Clock and time functionality"
+ flavor none
+ no_define
+
+ cdl_option CYGBLD_ISO_TIME_T_HEADER {
+ display "time_t implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
+ display "clock_t implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
+ display "struct timeval implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_option CYGBLD_ISO_FNMATCH_HEADER {
+ display "fnmatch implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
+ display "Number of implementations of POSIX timer types"
+ requires { 1 >= CYGINT_ISO_POSIX_TIMER_TYPES }
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
+ display "POSIX timer types implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
+ display "Number of implementations of POSIX clock types"
+ requires { 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES }
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
+ display "POSIX clock types implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_C_TIME_TYPES {
+ display "Number of implementations of ISO C types"
+ requires { 1 >= CYGINT_ISO_C_TIME_TYPES }
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
+ display "ISO C time types implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_POSIX_TIMERS {
+ display "Number of implementations of POSIX timers"
+ requires { 1 >= CYGINT_ISO_POSIX_TIMERS }
+ define _POSIX_TIMERS
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
+ display "POSIX timer implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_POSIX_CLOCKS {
+ display "Number of implementations of POSIX clocks"
+ requires { 1 >= CYGINT_ISO_POSIX_CLOCKS }
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
+ display "POSIX clocks implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
+ display "Number of implementations of ISO C clock functions"
+ requires { 1 >= CYGINT_ISO_C_CLOCK_FUNCS }
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
+ display "ISO C clock functions' implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_TZSET {
+ display "Number of implementations of tzset() function"
+ requires { 1 >= CYGINT_ISO_TZSET }
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_TZSET_HEADER {
+ display "tzset() implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_SIGNAL {
+ display "Signal functionality"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
+ display "Number of implementations of signal numbers"
+ requires { 1 >= CYGINT_ISO_SIGNAL_NUMBERS }
+ }
+
+ cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
+ display "Signal numbering implementation header"
+ description "This header provides the mapping of signal
+ names (e.g. SIGBUS) to numbers."
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_SIGNAL_IMPL {
+ display "Number of signal implementations"
+ requires { 1 >= CYGINT_ISO_SIGNAL_IMPL }
+ }
+
+ cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
+ display "Signals implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
+ display "POSIX real time signals feature test macro"
+ description "This defines the POSIX feature test macro
+ that indicates that the POSIX real time signals
+ are present."
+ requires { 1 >= CYGINT_POSIX_REALTIME_SIGNALS }
+# FIXME should use this: define _POSIX_REALTIME_SIGNALS
+ define_proc {
+ puts $::cdl_header "#if CYGINT_POSIX_REALTIME_SIGNALS"
+ puts $::cdl_header "# define _POSIX_REALTIME_SIGNALS 1"
+ puts $::cdl_header "#endif"
+ }
+ }
+
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_SETJMP {
+ display "Non-local jumps functionality"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_SETJMP {
+ display "setjmp() / longjmp() implementations"
+ requires { 1 >= CYGINT_ISO_SETJMP }
+ }
+
+ cdl_option CYGBLD_ISO_SETJMP_HEADER {
+ display "setjmp() / longjmp() implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_SIGSETJMP {
+ display "sigsetjmp() / siglongjmp() implementations"
+ requires { 1 >= CYGINT_ISO_SIGSETJMP }
+ }
+
+ cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
+ display "sigsetjmp() / siglongjmp() implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+
+# ====================================================================
+
+ cdl_option CYGBLD_ISO_ASSERT_HEADER {
+ display "Assertions implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_POSIX_FCNTL {
+ display "POSIX file control"
+ description "This covers the POSIX file control definitions,
+ normally found in <fcntl.h>"
+ flavor none
+ no_define
+
+ cdl_option CYGBLD_ISO_OFLAG_HEADER {
+ display "POSIX open flags implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_FCNTL {
+ display "POSIX fcntl() implementations"
+ requires { 1 >= CYGINT_ISO_FCNTL }
+ }
+
+ cdl_option CYGBLD_ISO_FCNTL_HEADER {
+ display "POSIX fcntl() implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_OPEN {
+ display "POSIX file open implementations"
+ requires { 1 >= CYGINT_ISO_OPEN }
+ }
+
+ cdl_option CYGBLD_ISO_OPEN_HEADER {
+ display "POSIX file open implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
+ display "<sys/stat.h> definitions implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+
+# ====================================================================
+
+ cdl_interface CYGINT_ISO_DIRENT {
+ display "POSIX directory reading implementation"
+ requires { 1 >= CYGINT_ISO_DIRENT }
+ }
+
+ cdl_option CYGBLD_ISO_DIRENT_HEADER {
+ display "<dirent.h> definitions implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_POSIX_TYPES {
+ display "POSIX <sys/types.h> contents"
+ description "This covers the types required by POSIX to be in
+ <sys/types.h>"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_PTHREADTYPES {
+ display "POSIX thread types implementations"
+ requires { 1 >= CYGINT_ISO_PTHREADTYPES }
+ }
+
+ cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
+ display "POSIX thread types implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_PMUTEXTYPES {
+ display "POSIX mutex types implementations"
+ requires { 1 >= CYGINT_ISO_PTHREADTYPES }
+ }
+
+ cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
+ display "POSIX mutex types implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
+ display "ssize_t implementation header"
+ flavor booldata
+ default_value 0
+ }
+ cdl_option CYGBLD_ISO_FSTYPES_HEADER {
+ display "Filesystem types implementation header"
+ flavor booldata
+ default_value 0
+ }
+ cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
+ display "gid_t, pid_t, uid_t implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_EXTRA_TYPES {
+ display "Non-POSIX <sys/types.h> contents"
+ description "This covers the extra types required by non-POSIX
+ packages to be in <sys/types.h>. These would normally
+ only be visible if _POSIX_SOURCE is not defined."
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_BSDTYPES {
+ display "BSD compatible types"
+ requires { 1 >= CYGINT_ISO_BSDTYPES }
+ }
+
+ cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
+ display "BSD types header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_UTSNAME {
+ display "Utsname structure"
+ flavor none
+ no_define
+
+ cdl_option CYGBLD_ISO_UTSNAME_HEADER {
+ display "Utsname header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_SCHED {
+ display "POSIX scheduler"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_SCHED_IMPL {
+ display "POSIX scheduler implementations"
+ requires { 1 >= CYGINT_ISO_SCHED_IMPL }
+ }
+
+ cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
+ display "POSIX scheduler implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_SEMAPHORES {
+ display "POSIX semaphores"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_SEMAPHORES {
+ display "POSIX semaphore implementations"
+ requires { 1 >= CYGINT_ISO_SEMAPHORES }
+# FIXME should use this: define _POSIX_SEMAPHORES
+ define_proc {
+ puts $::cdl_header "#if CYGINT_ISO_SEMAPHORES"
+ puts $::cdl_header "# define _POSIX_SEMAPHORES 1"
+ puts $::cdl_header "#endif"
+ }
+ }
+
+ cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
+ display "POSIX semaphore implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_MQUEUE {
+ display "POSIX message queues"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_MQUEUE {
+ display "Implementations"
+ requires { 1 >= CYGINT_ISO_MQUEUE }
+# FIXME should use this: define _POSIX_MESSAGE_PASSING
+ define_proc {
+ puts $::cdl_header "#if CYGINT_ISO_MQUEUE"
+ puts $::cdl_header "# define _POSIX_MESSAGE_PASSING 1"
+ puts $::cdl_header "#endif"
+ }
+ }
+
+ cdl_option CYGBLD_ISO_MQUEUE_HEADER {
+ display "Implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
+ display "Maximum number of open message queues"
+ flavor booldata
+ active_if CYGINT_ISO_MQUEUE
+ define MQ_OPEN_MAX
+# FIXME: shouldn't be specific to the implementation, see CR
+ default_value { CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 }
+ }
+
+ cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
+ display "Maximum number of message priorities"
+ flavor booldata
+# FIXME: again like CYGNUM_ISO_MQUEUE_OPEN_MAX, should be able to be set by
+# the implementation
+ default_value 65535
+ active_if CYGINT_ISO_MQUEUE
+ define MQ_PRIO_MAX
+ }
+
+
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_PTHREAD {
+ display "POSIX threads"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_PTHREAD_IMPL {
+ display "POSIX pthread implementations"
+ requires { 1 >= CYGINT_ISO_PTHREAD_IMPL }
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
+ display "POSIX pthread implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
+ display "POSIX mutex/cond var implementations"
+ requires { 1 >= CYGINT_ISO_PTHREAD_MUTEX }
+ flavor booldata
+ }
+
+ cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
+ display "POSIX mutex/cond var implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_LIMITS {
+ display "Limits"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_POSIX_LIMITS {
+ display "POSIX pthread limits implementations"
+ requires { 1 >= CYGINT_ISO_POSIX_LIMITS }
+ }
+
+ cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
+ display "POSIX pthread limits implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
+ display "OPEN_MAX implementation header"
+ flavor booldata
+ default_value 0
+ }
+ cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
+ display "LINK_MAX implementation header"
+ flavor booldata
+ default_value 0
+ }
+ cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
+ display "NAME_MAX implementation header"
+ flavor booldata
+ default_value 0
+ }
+ cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
+ display "PATH_MAX implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_TERMIOS {
+ display "POSIX termios"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_TERMIOS {
+ display "POSIX termios implementations"
+ requires { 1 >= CYGINT_ISO_TERMIOS }
+ }
+
+ cdl_option CYGBLD_ISO_TERMIOS_HEADER {
+ display "POSIX termios implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_DLFCN {
+ display "Dynamic load API"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_DLFCN {
+ display "Dynamic load implementations"
+ requires { 1 >= CYGINT_ISO_DLFCN }
+ }
+
+ cdl_option CYGBLD_ISO_DLFCN_HEADER {
+ display "Dynamic load implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_UNISTD {
+ display "UNIX standard functions"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
+ display "POSIX timer operations implementations"
+ flavor booldata
+ requires { 1 >= CYGINT_ISO_POSIX_TIMER_OPS }
+ }
+
+ cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
+ display "POSIX timer operations implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_POSIX_SLEEP {
+ display "POSIX sleep() implementations"
+ flavor booldata
+ requires { 1 >= CYGINT_ISO_POSIX_SLEEP }
+ }
+
+ cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
+ display "POSIX sleep() implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_SELECT {
+ display "select()/poll() functions"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_SELECT {
+ display "select() implementations"
+ flavor booldata
+ requires { 1 >= CYGINT_ISO_SELECT }
+ }
+
+ cdl_option CYGBLD_ISO_SELECT_HEADER {
+ display "select() implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_POLL {
+ display "poll() implementations"
+ flavor booldata
+ requires { 1 >= CYGINT_ISO_POLL }
+ }
+
+ cdl_option CYGBLD_ISO_POLL_HEADER {
+ display "poll() implementation header"
+ flavor booldata
+ default_value 0
+ }
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISO_NETDB {
+ display "NetDB utility functions"
+ flavor none
+ no_define
+
+ cdl_interface CYGINT_ISO_DNS {
+ display "DNS implementations"
+ flavor bool
+ requires { 1 >= CYGINT_ISO_DNS }
+ }
+
+ cdl_option CYGBLD_ISO_DNS_HEADER {
+ display "DNS implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_NETDB_PROTO {
+ display "Protocol network database implementations"
+ flavor bool
+ requires { 1 >= CYGINT_ISO_NETDB_PROTO }
+ }
+
+ cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
+ display "Protocol network database implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ cdl_interface CYGINT_ISO_NETDB_SERV {
+ display "Services network database implementations"
+ flavor bool
+ requires { 1 >= CYGINT_ISO_NETDB_SERV }
+ }
+
+ cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
+ display "Services network database implementation header"
+ flavor booldata
+ default_value 0
+ }
+
+ }
+
+# ====================================================================
+
+ cdl_component CYGPKG_ISOINFRA_OPTIONS {
+ display "Build options"
+ flavor none
+ no_define
+ description "
+ Package specific build options including control over
+ compiler flags used only in building this package,
+ and details of which tests are built."
+
+
+ cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
+ display "Additional compiler flags"
+ flavor data
+ no_define
+ default_value { "" }
+ description "
+ This option modifies the set of compiler flags for
+ building the ISO C and POSIX infrastructure package.
+ These flags are used in addition to the set of global flags."
+ }
+
+ cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
+ display "Suppressed compiler flags"
+ flavor data
+ no_define
+ default_value { "" }
+ description "
+ This option modifies the set of compiler flags for
+ building the ISO C and POSIX infrastructure package.
+ These flags are removed from the set of global flags
+ if present."
+ }
+ }
+}
+
+# ====================================================================
+# End of isoinfra.cdl
diff --git a/ecos/packages/isoinfra/current/include/assert.h b/ecos/packages/isoinfra/current/include/assert.h
new file mode 100644
index 0000000..9bc9ecb
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/assert.h
@@ -0,0 +1,120 @@
+#ifndef CYGONCE_ISO_ASSERT_H
+#define CYGONCE_ISO_ASSERT_H
+/*========================================================================
+//
+// assert.h
+//
+// ISO C assertions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the assert functions required by
+// ISO C and POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <assert.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+#include <pkgconf/infra.h> /* CYGDBG_USE_ASSERTS */
+
+/* INCLUDES */
+
+#ifdef CYGBLD_ISO_ASSERT_HEADER
+# include CYGBLD_ISO_ASSERT_HEADER
+#else
+
+# ifdef NDEBUG
+# define assert( __bool ) ((void)0)
+# else /* if NDEBUG is NOT defined */
+
+/* First preference is to be standards compliant */
+
+#if defined(CYGINT_ISO_STDIO_FORMATTED_IO) && CYGINT_ISO_EXIT
+
+# include <stdio.h>
+# include <stdlib.h>
+
+# define assert( __bool ) \
+ do { \
+ if (0 == (__bool)) { \
+ fprintf( stderr, "User assertion failed: \"%s\", at %s:%d\n", \
+ #__bool, __FILE__, __LINE__); \
+ abort(); \
+ } \
+ } while(0)
+
+
+/* Second preference is to use the common infra assertion support */
+
+#elif defined(CYGDBG_USE_ASSERTS)
+
+# include <cyg/infra/cyg_ass.h>
+
+# define assert( __bool ) \
+ CYG_MACRO_START \
+ CYG_ASSERT( __bool, "User assertion failed: \"" #__bool "\"" ); \
+ CYG_MACRO_END
+#else /* Fallback */
+
+# include <cyg/infra/diag.h>
+
+# define assert( __bool ) \
+ do { \
+ if (0 == (__bool)) { \
+ diag_printf( "User assertion failed: \"%s\", at %s:%d\n", \
+ #__bool, __FILE__, __LINE__); \
+ for (;;); \
+ } \
+ } while(0)
+
+#endif
+
+# endif /* NDEBUG not defined */
+#endif
+
+#endif /* CYGONCE_ISO_ASSERT_H multiple inclusion protection */
+
+/* EOF assert.h */
diff --git a/ecos/packages/isoinfra/current/include/ctype.h b/ecos/packages/isoinfra/current/include/ctype.h
new file mode 100644
index 0000000..32bb852
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/ctype.h
@@ -0,0 +1,131 @@
+#ifndef CYGONCE_ISO_CTYPE_H
+#define CYGONCE_ISO_CTYPE_H
+/*========================================================================
+//
+// ctype.h
+//
+// ISO ctype functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the ctype functions required by
+// ISO C 9899:1990 and POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <ctype.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+#if CYGINT_ISO_CTYPE
+# ifdef CYGBLD_ISO_CTYPE_HEADER
+# include CYGBLD_ISO_CTYPE_HEADER
+# else
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* FUNCTION PROTOTYPES */
+
+//=========================================================================*/
+
+/* 7.3.1 Character testing functions */
+
+extern int
+isalnum( int );
+
+extern int
+isalpha( int );
+
+extern int
+iscntrl( int );
+
+extern int
+isdigit( int );
+
+extern int
+isgraph( int );
+
+extern int
+islower( int );
+
+extern int
+isprint( int );
+
+extern int
+ispunct( int );
+
+extern int
+isspace( int );
+
+extern int
+isupper( int );
+
+extern int
+isxdigit( int );
+
+/*=========================================================================*/
+
+/* 7.3.2 Character case mapping functions */
+
+extern int
+tolower( int );
+
+extern int
+toupper( int );
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif
+#endif
+
+#endif /* CYGONCE_ISO_CTYPE_H multiple inclusion protection */
+
+/* EOF ctype.h */
diff --git a/ecos/packages/isoinfra/current/include/dirent.h b/ecos/packages/isoinfra/current/include/dirent.h
new file mode 100644
index 0000000..7bffd00
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/dirent.h
@@ -0,0 +1,94 @@
+#ifndef CYGONCE_ISO_DIRENT_H
+#define CYGONCE_ISO_DIRENT_H
+/*========================================================================
+//
+// dirent.h
+//
+// POSIX file control functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): nickg
+// Contributors:
+// Date: 2000-06-26
+// Purpose: This file provides the macros, types and functions
+// for directory operations required by POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <dirent.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* INCLUDES */
+
+#include <pkgconf/isoinfra.h>
+
+#include <sys/types.h>
+#include <limits.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if CYGINT_ISO_DIRENT
+#ifdef CYGBLD_ISO_DIRENT_HEADER
+# include CYGBLD_ISO_DIRENT_HEADER
+#endif
+
+/* PROTOTYPES */
+
+extern DIR *opendir( const char *dirname );
+
+extern struct dirent *readdir( DIR *dirp );
+
+extern int readdir_r( DIR *dirp, struct dirent *entry, struct dirent **result );
+
+extern void rewinddir( DIR *dirp );
+
+extern int closedir( DIR *dirp );
+
+#endif
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* CYGONCE_ISO_DIRENT_H multiple inclusion protection */
+
+/* EOF dirent.h */
diff --git a/ecos/packages/isoinfra/current/include/dlfcn.h b/ecos/packages/isoinfra/current/include/dlfcn.h
new file mode 100644
index 0000000..9dd9ef7
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/dlfcn.h
@@ -0,0 +1,64 @@
+#ifndef CYGONCE_ISO_DLFCN_H
+#define CYGONCE_ISO_DLFCN_H
+/*========================================================================
+//
+// dlfcn.h
+//
+// Dynamic load functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): nickg
+// Contributors:
+// Date: 2000-12-13
+// Purpose: This file provides the dynamic loading macros, types and functions
+// required by POSIX 1003.1.
+// Usage: #include <dlfcn.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+#ifdef CYGBLD_ISO_DLFCN_HEADER
+# include CYGBLD_ISO_DLFCN_HEADER
+#endif
+
+//======================================================================
+#endif /* CYGONCE_ISO_DLFCN_H multiple inclusion protection */
+/* EOF dlfcn.h */
diff --git a/ecos/packages/isoinfra/current/include/errno.h b/ecos/packages/isoinfra/current/include/errno.h
new file mode 100644
index 0000000..5627bf6
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/errno.h
@@ -0,0 +1,75 @@
+#ifndef CYGONCE_ISO_ERRNO_H
+#define CYGONCE_ISO_ERRNO_H
+/*========================================================================
+//
+// errno.h
+//
+// ISO errno variable and constants
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-07
+// Purpose: This file provides the errno variable (or more strictly
+// expression) and the E* error codes required by ISO C
+// and POSIX 1003.1
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <errno.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+#if CYGINT_ISO_ERRNO_CODES
+# include CYGBLD_ISO_ERRNO_CODES_HEADER
+#endif
+
+#if CYGINT_ISO_ERRNO
+# include CYGBLD_ISO_ERRNO_HEADER
+#endif
+
+#endif /* CYGONCE_ISO_ERRNO_H multiple inclusion protection */
+
+/* EOF errno.h */
diff --git a/ecos/packages/isoinfra/current/include/fcntl.h b/ecos/packages/isoinfra/current/include/fcntl.h
new file mode 100644
index 0000000..2fafadd
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/fcntl.h
@@ -0,0 +1,168 @@
+#ifndef CYGONCE_ISO_FCNTL_H
+#define CYGONCE_ISO_FCNTL_H
+/*========================================================================
+//
+// fcntl.h
+//
+// POSIX file control functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-05-05
+// Purpose: This file provides the macros, types and functions
+// for file control required by POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <fcntl.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+#ifdef CYGBLD_ISO_OFLAG_HEADER
+# include CYGBLD_ISO_OFLAG_HEADER
+#else
+
+/* File access modes used for open() and fnctl() */
+#define O_RDONLY (1<<0) /* Open for reading only */
+#define O_WRONLY (1<<1) /* Open for writing only */
+#define O_RDWR (O_RDONLY|O_WRONLY) /* Open for reading and writing */
+
+/* File access mode mask */
+#define O_ACCMODE (O_RDONLY|O_RDWR|O_WRONLY)
+
+/* open() mode flags */
+
+#define O_CREAT (1<<3) /* Create file it it does not exist */
+#define O_EXCL (1<<4) /* Exclusive use */
+#define O_NOCTTY (1<<5) /* Do not assign a controlling terminal */
+#define O_TRUNC (1<<6) /* Truncate */
+
+/* File status flags used for open() and fcntl() */
+#define O_APPEND (1<<7) /* Set append mode */
+#define O_DSYNC (1<<8) /* Synchronized I/O data integrity writes */
+#define O_NONBLOCK (1<<9) /* No delay */
+#define O_RSYNC (1<<10) /* Synchronized read I/O */
+#define O_SYNC (1<<11) /* Synchronized I/O file integrity writes */
+
+#endif /* ifndef CYGBLD_ISO_OFLAG_HEADER */
+
+
+#if CYGINT_ISO_FCNTL
+# ifdef CYGBLD_ISO_FCNTL_HEADER
+# include CYGBLD_ISO_FCNTL_HEADER
+# else
+
+/* fcntl() command values */
+
+#define F_DUPFD (1<<0) /* Duplicate file descriptor */
+#define F_GETFD (1<<1) /* Get file descriptor flags */
+#define F_SETFD (1<<2) /* Set file descriptor flags */
+#define F_GETFL (1<<3) /* Get file status flags */
+#define F_SETFL (1<<4) /* Set file status flags */
+#define F_GETLK (1<<5) /* Get record locking information */
+#define F_SETLK (1<<6) /* Set record locking information */
+#define F_SETLKW (1<<7) /* Set record locking info; wait if blocked */
+
+/* fd flags */
+#define FD_CLOEXEC (1<<0) /* Close fd on exec */
+
+/* Lock types */
+
+#define F_RDLCK (1<<0) /* Shared or read lock */
+#define F_UNLCK (1<<1) /* Unlock */
+#define F_WRLCK (1<<2) /* Exclusive or write lock */
+
+#include <sys/types.h> /* off_t, pid_t */
+
+struct flock {
+ short l_type; /* F_RDLCK, F_WRLCK, F_UNLCK */
+ short l_whence; /* Flag for starting offset */
+ off_t l_start; /* Relative offset in bytes */
+ off_t l_len; /* Size; if 0, then until EOF */
+ pid_t l_pid; /* Process ID of the process holding the lock,
+ * returned with F_GETLK. */
+};
+
+#ifdef __cplusplus
+extern "C"
+#else
+extern
+#endif
+
+int
+fcntl( int /* fildes */, int /* cmd */, ... );
+
+# endif /* ifndef CYGBLD_ISO_FCNTL_HEADER */
+#endif /* if CYGINT_ISO_FCNTL */
+
+
+#if CYGINT_ISO_OPEN
+# ifdef CYGBLD_ISO_OPEN_HEADER
+# include CYGBLD_ISO_OPEN_HEADER
+# else
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <sys/types.h> /* mode_t */
+
+extern int
+open( const char * /* path */, int /* oflag */, ... );
+
+extern int
+creat( const char * /* path */, mode_t /* mode */ );
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif /* ifndef CYGBLD_ISO_OPEN_HEADER */
+#endif /* if CYGINT_ISO_OPEN */
+
+#endif /* CYGONCE_ISO_FCNTL_H multiple inclusion protection */
+
+/* EOF fcntl.h */
diff --git a/ecos/packages/isoinfra/current/include/float.h b/ecos/packages/isoinfra/current/include/float.h
new file mode 100644
index 0000000..f2e15cb
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/float.h
@@ -0,0 +1,66 @@
+/* Do not define CYGONCE_ISO_FLOAT_H. It is not appropriate for this file */
+/*========================================================================
+//
+// float.h
+//
+// ISO standard float-point properties
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the floating-point related properties
+// required by ISO C
+// Description: This file is really provided by the compiler, although in
+// due course we may override things here.
+//
+// The main purpose of this file is as a comment to the FAQ
+// about where float.h lives: it is provided by the compiler,
+// which for current gcc can be found by looking in the
+// include directory in the same place as the specs file
+// which you can determine from TARGET-gcc -v,
+// e.g. arm-elf-gcc -v
+// Usage: #include <float.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+#include_next <float.h>
+
+/* EOF float.h */
diff --git a/ecos/packages/isoinfra/current/include/fnmatch.h b/ecos/packages/isoinfra/current/include/fnmatch.h
new file mode 100644
index 0000000..3bd8039
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/fnmatch.h
@@ -0,0 +1,70 @@
+#ifndef CYGONCE_ISO_FNMATCH_H
+#define CYGONCE_ISO_FNMATCH_H
+/*========================================================================
+//
+// fnmatch.h
+//
+// fnmatch()
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): Peter Korsgaard <peter.korsgaard@barco.com>
+// Contributors:
+// Date: 2007-01-24
+// Purpose: This file provides the fnmatch() function
+// required by POSIX 1003.2-1992, section B.6.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <fnmatch.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+#ifdef CYGBLD_ISO_FNMATCH_HEADER
+# include CYGBLD_ISO_FNMATCH_HEADER
+#endif
+
+#endif /* CYGONCE_ISO_FNMATCH_H multiple inclusion protection */
+
+/* EOF fnmatch.h */
diff --git a/ecos/packages/isoinfra/current/include/limits.h b/ecos/packages/isoinfra/current/include/limits.h
new file mode 100644
index 0000000..e5fc30f
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/limits.h
@@ -0,0 +1,224 @@
+#ifndef CYGONCE_ISO_LIMITS_H
+#define CYGONCE_ISO_LIMITS_H
+/*========================================================================
+//
+// limits.h
+//
+// ISO standard limits
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the limits properties
+// required by ISO C and POSIX 1003.1
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation), as well as
+// being partially provided by the compiler.
+//
+// Usage: #include <limits.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* DEFINES */
+
+/*-----------------------------------------------------------------------------
+ * Minimum values from POSIX.1 tables 2-3, 2-7 and 2-7a.
+
+ * These are the standard-mandated minimum values.
+ * These values do not vary with the implementation - they may
+ * simply be defined
+ */
+
+/* Minimum number of operations in one list I/O call. */
+#define _POSIX_AIO_LISTIO_MAX 2
+
+/* Minimal number of outstanding asynchronous I/O operations. */
+#define _POSIX_AIO_MAX 1
+
+/* Maximum length of arguments to `execve', including environment. */
+#define _POSIX_ARG_MAX 4096
+
+/* Maximum simultaneous processes per real user ID. */
+#define _POSIX_CHILD_MAX 6
+
+/* Minimal number of timer expiration overruns. */
+#define _POSIX_DELAYTIMER_MAX 32
+
+/* Maximum link count of a file. */
+#define _POSIX_LINK_MAX 8
+
+/* Size of storage required for a login name */
+#define _POSIX_LOGIN_NAME_MAX 9
+
+/* Number of bytes in a terminal canonical input queue. */
+#define _POSIX_MAX_CANON 255
+
+/* Number of bytes for which space will be
+ available in a terminal input queue. */
+#define _POSIX_MAX_INPUT 255
+
+/* Maximum number of message queues open for a process. */
+#define _POSIX_MQ_OPEN_MAX 8
+
+/* Maximum number of supported message priorities. */
+#define _POSIX_MQ_PRIO_MAX 32
+
+/* Number of bytes in a filename. */
+#define _POSIX_NAME_MAX 14
+
+/* Number of simultaneous supplementary group IDs per process. */
+#define _POSIX_NGROUPS_MAX 0
+
+/* Number of files one process can have open at once. */
+#define _POSIX_OPEN_MAX 16
+
+/* Number of bytes in a pathname. */
+#define _POSIX_PATH_MAX 255
+
+/* Number of bytes than can be written atomically to a pipe. */
+#define _POSIX_PIPE_BUF 512
+
+/* Minimal number of realtime signals reserved for the application. */
+#define _POSIX_RTSIG_MAX 8
+
+/* Number of semaphores a process can have. */
+#define _POSIX_SEM_NSEMS_MAX 256
+
+/* Maximal value of a semaphore. */
+#define _POSIX_SEM_VALUE_MAX 32767
+
+/* Number of pending realtime signals. */
+#define _POSIX_SIGQUEUE_MAX 32
+
+/* Largest value of a `ssize_t'. */
+#define _POSIX_SSIZE_MAX 32767
+
+/* Number of streams a process can have open at once. */
+#define _POSIX_STREAM_MAX 8
+
+/* Controlling the iterations of destructors for thread-specific data. */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
+
+/* The number of data keys per process. */
+#define _POSIX_THREAD_KEYS_MAX 128
+
+/* The number of threads per process. */
+#define _POSIX_THREAD_THREADS_MAX 64
+
+/* Maximum number of characters in a tty name. */
+#define _POSIX_TTY_NAME_MAX 9
+
+/* Number of timer for a process. */
+#define _POSIX_TIMER_MAX 32
+
+/* Maximum length of a timezone name (element of `tzname'). */
+#define _POSIX_TZNAME_MAX 3
+
+/* Maximum clock resolution in nanoseconds. */
+#define _POSIX_CLOCKRES_MIN 20000000
+
+
+#ifdef CYGBLD_ISO_SSIZE_T_HEADER
+# include CYGBLD_ISO_SSIZE_T_HEADER
+#else
+# ifndef __STRICT_ANSI__
+# define SSIZE_MAX LONG_MAX
+# endif
+#endif
+
+/* INCLUDES */
+
+#ifdef CYGBLD_ISO_OPEN_MAX_HEADER
+# include CYGBLD_ISO_OPEN_MAX_HEADER
+#else
+# ifndef __STRICT_ANSI__
+# define OPEN_MAX _POSIX_OPEN_MAX
+# endif
+#endif
+
+#ifdef CYGBLD_ISO_LINK_MAX_HEADER
+# include CYGBLD_ISO_LINK_MAX_HEADER
+#else
+# ifndef __STRICT_ANSI__
+# define LINK_MAX _POSIX_LINK_MAX
+# endif
+#endif
+
+#ifdef CYGBLD_ISO_NAME_MAX_HEADER
+# include CYGBLD_ISO_NAME_MAX_HEADER
+#else
+# ifndef __STRICT_ANSI__
+# define NAME_MAX _POSIX_NAME_MAX
+# endif
+#endif
+
+#ifdef CYGBLD_ISO_PATH_MAX_HEADER
+# include CYGBLD_ISO_PATH_MAX_HEADER
+#else
+# ifndef __STRICT_ANSI__
+# define PATH_MAX _POSIX_PATH_MAX
+# endif
+#endif
+
+#if CYGINT_ISO_POSIX_LIMITS
+# ifdef CYGBLD_ISO_POSIX_LIMITS_HEADER
+# include CYGBLD_ISO_POSIX_LIMITS_HEADER
+# endif
+#endif
+
+#endif /* CYGONCE_ISO_LIMITS_H multiple inclusion protection */
+ /* Yes it must be ended here! */
+
+/* When using a crosscompiler targeting linux, the next limits.h file
+ in the include sequence may be the glibc header - which breaks our
+ world. So skip it by defining _LIBC_LIMITS_H_ */
+#define _LIBC_LIMITS_H_
+
+/* Secondly only include if we haven't already been included by it. */
+#ifndef _GCC_LIMITS_H_
+# include_next <limits.h>
+#endif
+
+/* EOF limits.h */
diff --git a/ecos/packages/isoinfra/current/include/locale.h b/ecos/packages/isoinfra/current/include/locale.h
new file mode 100644
index 0000000..7eb8ce9
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/locale.h
@@ -0,0 +1,147 @@
+#ifndef CYGONCE_ISO_LOCALE_H
+#define CYGONCE_ISO_LOCALE_H
+/*========================================================================
+//
+// locale.h
+//
+// ISO locale functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the locale functions required by
+// ISO C and POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <locale.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+/* This is the "standard" way to get NULL from stddef.h,
+ * which is the canonical location of the definitions.
+ */
+#define __need_NULL
+#include <stddef.h>
+
+#if CYGINT_ISO_LOCALE
+# ifdef CYGBLD_ISO_LOCALE_HEADER
+# include CYGBLD_ISO_LOCALE_HEADER
+# else
+
+/* TYPE DEFINITIONS */
+
+/* struct lconv contains information about numeric and monetary numbers
+ * and is described in the ISO C standard section 7.4 */
+
+struct lconv {
+
+ /* the following affect formatted NONMONETARY QUANTITIES only */
+ char *decimal_point; /* decimal point */
+ char *thousands_sep; /* separates groups of digits before decimal
+ point */
+ char *grouping; /* string whose elements indicate the size */
+ /* of each group of digits */
+
+ /* the following affect formatted MONETARY QUANTITIES only */
+ char *int_curr_symbol; /* international curreny symbol */
+ char *currency_symbol; /* local currency symbol */
+ char *mon_decimal_point; /* decimal point */
+ char *mon_thousands_sep; /* separator for groups of digits
+ before the decimal point */
+ char *mon_grouping; /* string whose elements indicate the size
+ of each group of digits */
+ char *positive_sign; /* string to indicate zero or positive value */
+ char *negative_sign; /* string to indicate negative value */
+ char int_frac_digits; /* number of digits after decimal point for
+ internationally formatted monetary nums */
+ char frac_digits; /* number of digits after decimal point for
+ formatted monetary nums */
+ char p_cs_precedes; /* 1 if currency_symbol precedes non-negative
+ monetary quantity. 0 if succeeds */
+ char p_sep_by_space; /* 1 if currency_symbol separated from value
+ of non-negative monetary quantity by space.
+ Otherwise 0. */
+ char n_cs_precedes; /* 1 if currency_symbol precedes negative
+ monetary quantity. 0 if succeeds */
+ char n_sep_by_space; /* 1 if currency_symbol separated from value
+ of negative monetary quantity by space.
+ Otherwise 0. */
+ char p_sign_posn; /* set according to position of positive_sign */
+ char n_sign_posn; /* set according to position of negative_sign */
+};
+
+/* CONSTANTS */
+
+#define LC_COLLATE (1<<0)
+#define LC_CTYPE (1<<1)
+#define LC_MONETARY (1<<2)
+#define LC_NUMERIC (1<<3)
+#define LC_TIME (1<<4)
+#define LC_ALL (LC_COLLATE|LC_CTYPE|LC_MONETARY|LC_NUMERIC|LC_TIME)
+
+/* FUNCTION PROTOTYPES */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern char *
+setlocale( int /* category */, const char * /* locale */ );
+
+extern struct lconv *
+localeconv( void );
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif /* #elif !defined(CYGBLD_ISO_LOCALE_HEADER) */
+#endif /* CYGINT_ISO_LOCALE */
+
+#endif /* CYGONCE_ISO_LOCALE_H multiple inclusion protection */
+
+/* EOF locale.h */
diff --git a/ecos/packages/isoinfra/current/include/mqueue.h b/ecos/packages/isoinfra/current/include/mqueue.h
new file mode 100644
index 0000000..df76d35
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/mqueue.h
@@ -0,0 +1,148 @@
+#ifndef CYGONCE_ISO_MQUEUE_H
+#define CYGONCE_ISO_MQUEUE_H
+/*========================================================================
+//
+// mqueue.h
+//
+// POSIX message queue functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-05-05
+// Purpose: This file provides the macros, types and functions
+// for message queues required by POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <mqueue.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+#include <pkgconf/kernel.h> /* CYGFUN_KERNEL_THREADS_TIMER */
+
+/* INCLUDES */
+
+#ifdef _POSIX_MESSAGE_PASSING
+# ifdef CYGBLD_ISO_MQUEUE_HEADER
+# include CYGBLD_ISO_MQUEUE_HEADER
+# else
+
+#include <sys/types.h> /* size_t and ssize_t */
+
+/* TYPES */
+
+struct mq_attr {
+ long mq_flags; /* mqueue flags */
+ long mq_maxmsg; /* max number of messages */
+ long mq_msgsize; /* max message size */
+ long mq_curmsgs; /* number of messages currently queued */
+};
+
+typedef void *mqd_t;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* FUNCTIONS */
+
+extern mqd_t
+mq_open( const char * /* name */, int /* oflag */, ... );
+
+extern int
+mq_close( mqd_t /* mqdes */ );
+
+extern int
+mq_unlink( const char * /* name */ );
+
+extern int
+mq_send( mqd_t /* mqdes */, const char * /* msg_ptr */, size_t /* msg_len */,
+ unsigned int /* msg_prio */ );
+
+extern ssize_t
+mq_receive( mqd_t /* mqdes */, char * /* msg_ptr */, size_t /* msg_len */,
+ unsigned int * /* msg_prio */ );
+
+#ifdef _POSIX_REALTIME_SIGNALS
+
+struct sigevent;
+
+extern int
+mq_notify( mqd_t /* mqdes */, const struct sigevent * /* notification */ );
+#endif
+
+extern int
+mq_setattr( mqd_t /* mqdes */, const struct mq_attr * /* mqstat */,
+ struct mq_attr * /* omqstat */ );
+
+extern int
+mq_getattr( mqd_t /* mqdes */, struct mq_attr * /* mqstat */ );
+
+# ifdef CYGFUN_KERNEL_THREADS_TIMER
+/* POSIX 1003.1d Draft functions - FIXME: should be conditionalized */
+
+struct timespec; /* forward declaration */
+
+extern int
+mq_timedsend( mqd_t /* mqdes */, const char * /* msg_ptr */,
+ size_t /* msg_len */, unsigned int /* msg_prio */,
+ const struct timespec * /* abs_timeout */ );
+
+extern ssize_t
+mq_timedreceive( mqd_t /* mqdes */, char * /* msg_ptr */,
+ size_t /* msg_len */, unsigned int * /* msg_prio */,
+ const struct timespec * /* abs_timeout */ );
+# endif
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+# endif /* ifndef CYGBLD_ISO_MQUEUE_HEADER */
+#endif /* ifdef _POSIX_MESSAGE_PASSING */
+
+
+#endif /* CYGONCE_ISO_MQUEUE_H multiple inclusion protection */
+
+/* EOF mqueue.h */
diff --git a/ecos/packages/isoinfra/current/include/netdb.h b/ecos/packages/isoinfra/current/include/netdb.h
new file mode 100644
index 0000000..ccf84d2
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/netdb.h
@@ -0,0 +1,106 @@
+#ifndef CYGONCE_ISO_NETDB_H
+#define CYGONCE_ISO_NETDB_H
+/*==========================================================================
+//
+// netdb.h
+//
+// Network database functions
+//
+//==========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//==========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jskov,jlarmour
+// Contributors:
+// Date: 2001-09-28
+// Purpose: Provides network database types and function API.
+// Description: Much of the real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <netdb.h>
+//
+//
+//####DESCRIPTIONEND####
+//
+//========================================================================*/
+
+#include <pkgconf/isoinfra.h>
+
+#ifdef CYGINT_ISO_DNS
+# ifdef CYGBLD_ISO_DNS_HEADER
+# include CYGBLD_ISO_DNS_HEADER
+# endif
+#else
+
+/* Provide dummy entries so that legacy code that relies on the presence
+ of these types/functions still works. */
+
+/* Host name / IP mapping fallback when not using a real DNS implementation */
+struct hostent {
+ char *h_name; /* official name of host */
+ char **h_aliases; /* alias list */
+ int h_addrtype; /* host address type */
+ int h_length; /* length of address */
+ char **h_addr_list; /* list of addresses */
+};
+#define h_addr h_addr_list[0] /* for backward compatibility */
+
+static inline struct hostent *
+gethostbyname( const char *__host )
+{
+ return NULL;
+}
+
+static inline struct hostent *
+gethostbyaddr( const char * __addr, int __len, int __type )
+{
+ return NULL;
+}
+
+#endif /* ifdef CYGINT_ISO_DNS */
+
+#ifdef CYGINT_ISO_NETDB_PROTO
+# ifdef CYGBLD_ISO_NETDB_PROTO_HEADER
+# include CYGBLD_ISO_NETDB_PROTO_HEADER
+# endif
+#endif
+
+#ifdef CYGINT_ISO_NETDB_SERV
+# ifdef CYGBLD_ISO_NETDB_SERV_HEADER
+# include CYGBLD_ISO_NETDB_SERV_HEADER
+# endif
+#endif
+
+#endif /* CYGONCE_ISO_NETDB_H multiple inclusion protection */
+
+/* EOF netdb.h */
diff --git a/ecos/packages/isoinfra/current/include/pthread.h b/ecos/packages/isoinfra/current/include/pthread.h
new file mode 100644
index 0000000..55c44d0
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/pthread.h
@@ -0,0 +1,78 @@
+#ifndef CYGONCE_ISO_PTHREAD_H
+#define CYGONCE_ISO_PTHREAD_H
+/*========================================================================
+//
+// pthread.h
+//
+// POSIX pthread functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the macros, types and functions
+// for pthreads required by POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <pthread.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+#ifdef CYGINT_ISO_PTHREAD_IMPL
+# ifdef CYGBLD_ISO_PTHREAD_IMPL_HEADER
+# include CYGBLD_ISO_PTHREAD_IMPL_HEADER
+# endif
+#endif
+
+#ifdef CYGINT_ISO_PTHREAD_MUTEX
+# ifdef CYGBLD_ISO_PTHREAD_MUTEX_HEADER
+# include CYGBLD_ISO_PTHREAD_MUTEX_HEADER
+# endif
+#endif
+
+#endif /* CYGONCE_ISO_PTHREAD_H multiple inclusion protection */
+
+/* EOF pthread.h */
diff --git a/ecos/packages/isoinfra/current/include/sched.h b/ecos/packages/isoinfra/current/include/sched.h
new file mode 100644
index 0000000..3a64455
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/sched.h
@@ -0,0 +1,124 @@
+#ifndef CYGONCE_ISO_SCHED_H
+#define CYGONCE_ISO_SCHED_H
+/*========================================================================
+//
+// sched.h
+//
+// POSIX scheduler functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the scheduler macros, types and functions
+// required by POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <sched.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+#include <time.h>
+
+#if CYGINT_ISO_SCHED_IMPL
+# ifdef CYGBLD_ISO_SCHED_IMPL_HEADER
+# include CYGBLD_ISO_SCHED_IMPL_HEADER
+# else
+
+//-----------------------------------------------------------------------------
+// Scheduling Policys
+
+#define SCHED_OTHER 1
+#define SCHED_FIFO 2
+#define SCHED_RR 3
+
+//-----------------------------------------------------------------------------
+//Process scheduling functions.
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// Set scheduling parameters for given process.
+extern int sched_setparam (pid_t pid, const struct sched_param *param);
+
+// Get scheduling parameters for given process.
+extern int sched_getparam (pid_t pid, struct sched_param *param);
+
+// Set scheduling policy and/or parameters for given process.
+extern int sched_setscheduler (pid_t pid,
+ int policy,
+ const struct sched_param *param);
+
+// Get scheduling policy for given process.
+extern int sched_getscheduler (pid_t pid);
+
+// Force current thread to relinquish the processor.
+extern int sched_yield (void);
+
+//-----------------------------------------------------------------------------
+// Scheduler parameter limits.
+
+// Get maximum priority value for a policy.
+extern int sched_get_priority_max (int policy);
+
+// Get minimum priority value for a policy.
+extern int sched_get_priority_min (int policy);
+
+// Get the SCHED_RR interval for the given process.
+extern int sched_rr_get_interval (pid_t pid, struct timespec *t);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
+
+#endif /* if CYGINT_ISO_SCHED_IMPL */
+
+#endif /* CYGONCE_ISO_SCHED_H multiple inclusion protection */
+
+/* EOF sched.h */
diff --git a/ecos/packages/isoinfra/current/include/semaphore.h b/ecos/packages/isoinfra/current/include/semaphore.h
new file mode 100644
index 0000000..136a52c
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/semaphore.h
@@ -0,0 +1,72 @@
+#ifndef CYGONCE_ISO_SEMAPHORE_H
+#define CYGONCE_ISO_SEMAPHORE_H
+/*========================================================================
+//
+// semaphore.h
+//
+// POSIX semaphore functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the semaphor macros, types and functions
+// required by POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <semaphore.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+#ifdef _POSIX_SEMAPHORES
+# ifdef CYGBLD_ISO_SEMAPHORES_HEADER
+# include CYGBLD_ISO_SEMAPHORES_HEADER
+# endif
+#endif
+
+#endif /* CYGONCE_ISO_SEMAPHORE_H multiple inclusion protection */
+
+/* EOF semaphore.h */
diff --git a/ecos/packages/isoinfra/current/include/setjmp.h b/ecos/packages/isoinfra/current/include/setjmp.h
new file mode 100644
index 0000000..df4d338
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/setjmp.h
@@ -0,0 +1,74 @@
+#ifndef CYGONCE_ISO_SETJMP_H
+#define CYGONCE_ISO_SETJMP_H
+/*========================================================================
+//
+// setjmp.h
+//
+// ISO non-local jump functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the setjmp macros, types and functions
+// required by ISO C and POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <setjmp.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+#if CYGINT_ISO_SETJMP
+# include CYGBLD_ISO_SETJMP_HEADER
+#endif
+
+#if CYGINT_ISO_SIGSETJMP
+# include CYGBLD_ISO_SIGSETJMP_HEADER
+#endif
+
+#endif /* CYGONCE_ISO_SETJMP_H multiple inclusion protection */
+
+/* EOF setjmp.h */
diff --git a/ecos/packages/isoinfra/current/include/signal.h b/ecos/packages/isoinfra/current/include/signal.h
new file mode 100644
index 0000000..0eb91a2
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/signal.h
@@ -0,0 +1,75 @@
+#ifndef CYGONCE_ISO_SIGNAL_H
+#define CYGONCE_ISO_SIGNAL_H
+/*========================================================================
+//
+// signal.h
+//
+// ISO signal functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the signal macros, types and functions
+// required by ISO C and POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <signal.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+#if CYGINT_ISO_SIGNAL_NUMBERS
+# include CYGBLD_ISO_SIGNAL_NUMBERS_HEADER
+#endif
+
+#if CYGINT_ISO_SIGNAL_IMPL
+# include CYGBLD_ISO_SIGNAL_IMPL_HEADER
+#endif
+
+
+#endif /* CYGONCE_ISO_SIGNAL_H multiple inclusion protection */
+
+/* EOF signal.h */
diff --git a/ecos/packages/isoinfra/current/include/stdarg.h b/ecos/packages/isoinfra/current/include/stdarg.h
new file mode 100644
index 0000000..5002537
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/stdarg.h
@@ -0,0 +1,66 @@
+/* Do not define CYGONCE_ISO_STDARG_H. It is not appropriate for this file */
+/*========================================================================
+//
+// stdarg.h
+//
+// ISO standard variable argument functionality
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the variable argument macros required
+// by ISO C
+// Description: This file is really provided by the compiler, although in
+// due course we may override things here.
+//
+// The main purpose of this file is as a comment to the FAQ
+// about where stdarg.h lives: it is provided by the compiler,
+// which for current gcc can be found by looking in the
+// include directory in the same place as the specs file
+// which you can determine from TARGET-gcc -v,
+// e.g. arm-elf-gcc -v
+// Usage: #include <stdarg.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+#include_next <stdarg.h>
+
+/* EOF stdarg.h */
diff --git a/ecos/packages/isoinfra/current/include/stddef.h b/ecos/packages/isoinfra/current/include/stddef.h
new file mode 100644
index 0000000..37fd38e
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/stddef.h
@@ -0,0 +1,65 @@
+/* Do not define CYGONCE_ISO_STDDEF_H. It is not appropriate for this file */
+/*========================================================================
+//
+// stddef.h
+//
+// ISO standard defines
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the standard defines required by ISO C
+// Description: This file is really provided by the compiler, although in
+// due course we may override things here.
+//
+// The main purpose of this file is as a comment to the FAQ
+// about where stddef.h lives: it is provided by the compiler,
+// which for current gcc can be found by looking in the
+// include directory in the same place as the specs file
+// which you can determine from TARGET-gcc -v,
+// e.g. arm-elf-gcc -v
+// Usage: #include <stddef.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+#include_next <stddef.h>
+
+/* EOF stddef.h */
diff --git a/ecos/packages/isoinfra/current/include/stdio.h b/ecos/packages/isoinfra/current/include/stdio.h
new file mode 100644
index 0000000..93e278b
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/stdio.h
@@ -0,0 +1,155 @@
+#ifndef CYGONCE_ISO_STDIO_H
+#define CYGONCE_ISO_STDIO_H
+/*========================================================================
+//
+// stdio.h
+//
+// ISO standard I/O functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the stdio functions required by
+// ISO C and POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <stdio.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+/* This is the "standard" way to get NULL and size_t from stddef.h,
+ * which is the canonical location of the definitions.
+ */
+#define __need_NULL
+#define __need_size_t
+#include <stddef.h>
+
+/* Misc functions below use varargs stuff, so pull it in from the compiler
+ * here to save duplication.
+ */
+
+#define __need___va_list
+#include <stdarg.h>
+
+#ifdef CYGINT_ISO_STDIO_FILETYPES
+# ifdef CYGBLD_ISO_STDIO_FILETYPES_HEADER
+# include CYGBLD_ISO_STDIO_FILETYPES_HEADER
+# endif
+#endif
+
+#ifdef CYGINT_ISO_STDIO_STREAMS
+# ifdef CYGBLD_ISO_STDIO_STREAMS_HEADER
+# include CYGBLD_ISO_STDIO_STREAMS_HEADER
+# endif
+#endif
+
+#ifdef CYGINT_ISO_STDIO_FILEOPS
+# ifdef CYGBLD_ISO_STDIO_FILEOPS_HEADER
+# include CYGBLD_ISO_STDIO_FILEOPS_HEADER
+# endif
+#endif
+
+#ifdef CYGINT_ISO_STDIO_FILEACCESS
+# ifdef CYGBLD_ISO_STDIO_FILEACCESS_HEADER
+# include CYGBLD_ISO_STDIO_FILEACCESS_HEADER
+# endif
+#endif
+
+#ifdef CYGINT_ISO_STDIO_FORMATTED_IO
+# ifdef CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER
+# include CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER
+# endif
+#endif
+
+#ifdef CYGINT_ISO_STDIO_CHAR_IO
+# ifdef CYGBLD_ISO_STDIO_CHAR_IO_HEADER
+# include CYGBLD_ISO_STDIO_CHAR_IO_HEADER
+# endif
+#endif
+
+#ifdef CYGINT_ISO_STDIO_DIRECT_IO
+# ifdef CYGBLD_ISO_STDIO_DIRECT_IO_HEADER
+# include CYGBLD_ISO_STDIO_DIRECT_IO_HEADER
+# endif
+#endif
+
+#ifdef CYGINT_ISO_STDIO_FILEPOS
+# ifdef CYGBLD_ISO_STDIO_FILEPOS_HEADER
+# include CYGBLD_ISO_STDIO_FILEPOS_HEADER
+# endif
+#endif
+
+#ifdef CYGINT_ISO_STDIO_ERROR
+# ifdef CYGBLD_ISO_STDIO_ERROR_HEADER
+# include CYGBLD_ISO_STDIO_ERROR_HEADER
+# endif
+#endif
+
+#ifdef CYGINT_ISO_STDIO_POSIX_FDFUNCS
+# ifdef CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER
+# include CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER
+# else
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+extern int
+fileno( FILE *__stream ) __THROW;
+
+extern FILE *
+fdopen( int __fildes, const char *__type ) __THROW;
+
+# ifdef __cplusplus
+} // extern "C"
+# endif
+# endif
+#endif
+
+#endif /* CYGONCE_ISO_STDIO_H multiple inclusion protection */
+
+/* EOF stdio.h */
diff --git a/ecos/packages/isoinfra/current/include/stdlib.h b/ecos/packages/isoinfra/current/include/stdlib.h
new file mode 100644
index 0000000..32ae4ea
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/stdlib.h
@@ -0,0 +1,507 @@
+#ifndef CYGONCE_ISO_STDLIB_H
+#define CYGONCE_ISO_STDLIB_H
+/*========================================================================
+//
+// stdlib.h
+//
+// ISO standard library functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the stdlib functions required by
+// ISO C and POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <stdlib.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+/* This is the "standard" way to get NULL, wchar_t and size_t from stddef.h,
+ * which is the canonical location of the definitions.
+ */
+#define __need_NULL
+#define __need_size_t
+#define __need_wchar_t
+#include <stddef.h>
+
+#include <cyg/infra/cyg_type.h> /* For CYGBLD_ATTRIB_NORET etc. */
+
+/*==========================================================================*/
+
+#if CYGINT_ISO_STDLIB_STRCONV
+# ifdef CYGBLD_ISO_STDLIB_STRCONV_HEADER
+# include CYGBLD_ISO_STDLIB_STRCONV_HEADER
+# else
+
+/* ISO C 7.10.1 - String conversion functions */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int
+atoi( const char * /* int_str */ );
+
+extern long
+atol( const char * /* long_str */ );
+
+extern long
+strtol( const char * /* long_str */, char ** /* endptr */,
+ int /* base */ );
+
+extern unsigned long
+strtoul( const char * /* ulong_str */, char ** /* endptr */,
+ int /* base */ );
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+# endif
+#endif
+
+/*==========================================================================*/
+
+#if CYGINT_ISO_STDLIB_STRCONV_FLOAT
+# ifdef CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER
+# include CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER
+# else
+
+/* ISO C 7.10.1 - String conversion functions */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern double
+atof( const char * /* double_str */ );
+
+extern double
+strtod( const char * /* double_str */, char ** /* endptr */ );
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+# endif
+#endif
+
+/*==========================================================================*/
+
+#if CYGINT_ISO_RAND
+# ifdef CYGBLD_ISO_RAND_HEADER
+# include CYGBLD_ISO_RAND_HEADER
+# else
+
+/* ISO C 7.10.2 - Pseudo-random sequence generation functions */
+
+/* Maximum value returned by rand(). */
+#define RAND_MAX 2147483647
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int
+rand( void );
+
+extern void
+srand( unsigned int /* seed */ );
+
+/* POSIX 1003.1 section 8.3.8 rand_r() */
+extern int
+rand_r( unsigned int * /* seed */ );
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif
+#endif
+
+/*==========================================================================*/
+
+#if CYGINT_ISO_MALLOC
+# ifdef CYGBLD_ISO_MALLOC_HEADER
+# include CYGBLD_ISO_MALLOC_HEADER
+# else
+
+/* ISO C 7.10.3 - Memory management functions */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern void *
+calloc( size_t /* num_objects */, size_t /* object_size */ );
+
+extern void
+free( void * /* ptr */ );
+
+extern void *
+malloc( size_t /* size */ );
+
+extern void *
+realloc( void * /* ptr */, size_t /* size */ );
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif
+#endif
+
+/*==========================================================================*/
+
+#if CYGINT_ISO_MALLINFO
+# ifdef CYGBLD_ISO_MALLINFO_HEADER
+# include CYGBLD_ISO_MALLINFO_HEADER
+# else
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* SVID2/XPG mallinfo structure */
+
+struct mallinfo {
+ int arena; /* total size of memory arena */
+ int ordblks; /* number of ordinary memory blocks */
+ int smblks; /* number of small memory blocks */
+ int hblks; /* number of mmapped regions */
+ int hblkhd; /* total space in mmapped regions */
+ int usmblks; /* space used by small memory blocks */
+ int fsmblks; /* space available for small memory blocks */
+ int uordblks; /* space used by ordinary memory blocks */
+ int fordblks; /* space free for ordinary blocks */
+ int keepcost; /* top-most, releasable (via malloc_trim) space */
+ int maxfree; /* (NON-STANDARD EXTENSION) size of largest free block */
+};
+
+extern struct mallinfo
+mallinfo( void );
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif
+#endif
+
+/*==========================================================================*/
+
+#if CYGINT_ISO_EXIT
+# ifdef CYGBLD_ISO_EXIT_HEADER
+# include CYGBLD_ISO_EXIT_HEADER
+# else
+
+/* ISO C 7.10.4 - Communication with the environment */
+
+/* codes to pass to exit() */
+
+/* Successful exit status - must be zero (POSIX 1003.1 8.1) */
+#define EXIT_SUCCESS 0
+/* Failing exit status - must be non-zero (POSIX 1003.1 8.1) */
+#define EXIT_FAILURE 1
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Type of function used by atexit() */
+typedef void (*__atexit_fn_t)( void );
+
+extern void
+abort( void ) CYGBLD_ATTRIB_NORET;
+
+extern int
+atexit( __atexit_fn_t /* func_to_register */ );
+
+extern void
+exit( int /* status */ ) CYGBLD_ATTRIB_NORET;
+
+/* POSIX 1003.1 section 3.2.2 "Terminate a process" */
+
+//@@@ FIXME unistd.h
+extern void
+_exit( int /* status */ ) CYGBLD_ATTRIB_NORET;
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif
+#endif
+
+/*==========================================================================*/
+
+#if CYGINT_ISO_STDLIB_ENVIRON
+# ifdef CYGBLD_ISO_STDLIB_ENVIRON_HEADER
+# include CYGBLD_ISO_STDLIB_ENVIRON_HEADER
+# else
+
+/* ISO C 7.10.4 - Communication with the environment */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _POSIX_SOURCE
+
+extern char **environ; /* standard definition of environ */
+
+#endif
+
+extern char *
+getenv( const char * /* name */ );
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif
+#endif
+
+/*==========================================================================*/
+
+#if CYGINT_ISO_STDLIB_SYSTEM
+# ifdef CYGBLD_ISO_STDLIB_SYSTEM_HEADER
+# include CYGBLD_ISO_STDLIB_SYSTEM_HEADER
+# else
+
+/* ISO C 7.10.4 - Communication with the environment */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int
+system( const char * /* command */ );
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif
+#endif
+
+/*==========================================================================*/
+
+#if CYGINT_ISO_BSEARCH
+# ifdef CYGBLD_ISO_BSEARCH_HEADER
+# include CYGBLD_ISO_BSEARCH_HEADER
+# else
+
+/* ISO C 7.10.5 - Searching and sorting utilities */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef int (*__bsearch_comparison_fn_t)(const void * /* object1 */,
+ const void * /* object2 */);
+
+extern void *
+bsearch( const void * /* search_key */, const void * /* first_object */,
+ size_t /* num_objects */, size_t /* object_size */,
+ __bsearch_comparison_fn_t /* comparison_fn */ );
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif
+#endif
+
+/*==========================================================================*/
+
+#if CYGINT_ISO_QSORT
+# ifdef CYGBLD_ISO_QSORT_HEADER
+# include CYGBLD_ISO_QSORT_HEADER
+# else
+
+/* ISO C 7.10.5 - Searching and sorting utilities */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef int (*__qsort_comparison_fn_t)(const void * /* object1 */,
+ const void * /* object2 */);
+
+extern void
+qsort( void * /* first_object */, size_t /* num_objects */,
+ size_t /* object_size */, __qsort_comparison_fn_t /* comparison_fn */ );
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif
+#endif
+
+/*======================================================================*/
+
+#if CYGINT_ISO_ABS
+# ifdef CYGBLD_ISO_STDLIB_ABS_HEADER
+# include CYGBLD_ISO_STDLIB_ABS_HEADER
+# else
+
+/* TYPE DEFINITIONS */
+
+/* ISO C 7.10 and 7.10.6 - Integer Arithmetic Functions */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int
+abs( int /* val */ ) __attribute__((__const__));
+
+extern long
+labs( long /* val */ ) __attribute__((__const__));
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif
+#endif
+
+/*======================================================================*/
+
+#if CYGINT_ISO_DIV
+# ifdef CYGBLD_ISO_STDLIB_DIV_HEADER
+# include CYGBLD_ISO_STDLIB_DIV_HEADER
+# else
+
+/* ISO C 7.10 and 7.10.6 - Integer Arithmetic Functions */
+
+/* return type of the div() function */
+
+typedef struct {
+ int quot; /* quotient */
+ int rem; /* remainder */
+} div_t;
+
+
+/* return type of the ldiv() function */
+
+typedef struct {
+ long quot; /* quotient */
+ long rem; /* remainder */
+} ldiv_t;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern div_t
+div( int /* numerator */, int /* denominator */ ) __attribute__((__const__));
+
+extern ldiv_t
+ldiv( long /* numerator */, long /* denominator */ ) __attribute__((__const__));
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif
+#endif
+
+/*==========================================================================*/
+
+/* Maximum number of bytes in a multibyte character for the current locale */
+
+#ifdef CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER
+# include CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER
+#else
+# define MB_CUR_MAX 1
+#endif
+
+#if CYGINT_ISO_STDLIB_MULTIBYTE
+# ifdef CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER
+# include CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER
+# else
+
+/* ISO C 7.10.7 - Multibyte character functions */
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int
+mblen( const char * /* s */, size_t /* n */ );
+
+extern int
+mbtowc( wchar_t * /* pwc */, const char * /* s */, size_t /* n */ );
+
+extern int
+wctomb( char * /* s */, wchar_t /* wchar */ );
+
+extern size_t
+mbstowcs( wchar_t * /* pwcs */, const char * /* s */, size_t /* n */ );
+
+extern size_t
+wcstombs( char * /* s */, const wchar_t * /* pwcs */, size_t /* n */ );
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif
+#endif
+
+/*==========================================================================*/
+
+#endif /* CYGONCE_ISO_STDLIB_H multiple inclusion protection */
+
+/* EOF stdlib.h */
diff --git a/ecos/packages/isoinfra/current/include/string.h b/ecos/packages/isoinfra/current/include/string.h
new file mode 100644
index 0000000..0ceb7da
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/string.h
@@ -0,0 +1,129 @@
+#ifndef CYGONCE_ISO_STRING_H
+#define CYGONCE_ISO_STRING_H
+/*========================================================================
+//
+// string.h
+//
+// ISO string functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the string macros, types and functions
+// required by ISO C and POSIX 1003.1. It may also provide
+// other compatibility functions like BSD-style string
+// functions
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <string.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+/* This is the "standard" way to get NULL and size_t from stddef.h,
+ * which is the canonical location of the definitions.
+ */
+#define __need_NULL
+#define __need_size_t
+#include <stddef.h>
+
+#ifdef CYGINT_ISO_STRERROR
+# include CYGBLD_ISO_STRERROR_HEADER
+#endif
+
+/* memcpy() and memset() are special as they are used internally by
+ * the compiler, so they *must* exist. So if no-one claims to implement
+ * them, prototype them anyway */
+
+#ifdef CYGBLD_ISO_MEMCPY_HEADER
+# include CYGBLD_ISO_MEMCPY_HEADER
+#else
+
+extern
+# ifdef __cplusplus
+"C"
+# endif
+void *
+memcpy( void *, const void *, size_t );
+
+#endif
+
+#ifdef CYGBLD_ISO_MEMSET_HEADER
+# include CYGBLD_ISO_MEMSET_HEADER
+#else
+
+extern
+# ifdef __cplusplus
+"C"
+# endif
+void *
+memset( void *, int, size_t );
+
+#endif
+
+#ifdef CYGINT_ISO_STRTOK_R
+# include CYGBLD_ISO_STRTOK_R_HEADER
+#endif
+
+#ifdef CYGINT_ISO_STRING_LOCALE_FUNCS
+# include CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER
+#endif
+
+#ifdef CYGINT_ISO_STRING_BSD_FUNCS
+# include CYGBLD_ISO_STRING_BSD_FUNCS_HEADER
+#endif
+
+#ifdef CYGINT_ISO_STRING_MEMFUNCS
+# include CYGBLD_ISO_STRING_MEMFUNCS_HEADER
+#endif
+
+#ifdef CYGINT_ISO_STRING_STRFUNCS
+# include CYGBLD_ISO_STRING_STRFUNCS_HEADER
+#endif
+
+#endif /* CYGONCE_ISO_STRING_H multiple inclusion protection */
+
+/* EOF string.h */
diff --git a/ecos/packages/isoinfra/current/include/sys/select.h b/ecos/packages/isoinfra/current/include/sys/select.h
new file mode 100644
index 0000000..532d17a
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/sys/select.h
@@ -0,0 +1,162 @@
+/*========================================================================
+//
+// sys/select.h
+//
+// POSIX definitions for select()
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2001-07-26
+// Purpose: This file provides the macros, types and functions
+// required by POSIX 1003.1.
+// Description: Much of the real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <sys/select.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/system.h>
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+#ifdef CYGPKG_IO_FILEIO
+ #include <pkgconf/io_fileio.h>
+ #define FD_SETSIZE CYGNUM_FILEIO_NFD
+#endif
+
+/* ------------------------------------------------------------------- */
+
+#if !defined(_POSIX_SOURCE)
+
+#ifdef CYGINT_ISO_SELECT
+# ifdef CYGBLD_ISO_SELECT_HEADER
+# include CYGBLD_ISO_SELECT_HEADER
+# else
+
+# ifndef CYGONCE_ISO_SYS_SELECT_FD_SETS
+# define CYGONCE_ISO_SYS_SELECT_FD_SETS
+
+#define NBBY 8 /* number of bits in a byte */
+
+/*
+ * Select uses bit masks of file descriptors in longs. These macros
+ * manipulate such bit fields (the filesystem macros use chars).
+ * FD_SETSIZE may be defined by the user, but the default here should
+ * be enough for most uses.
+ */
+#ifndef FD_SETSIZE
+#define FD_SETSIZE 256
+#endif
+
+typedef unsigned int fd_mask;
+#define __NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */
+
+#ifndef __howmany
+#define __howmany(__x, __y) (((__x) + ((__y) - 1)) / (__y))
+#endif
+
+typedef struct fd_set {
+ fd_mask fds_bits[__howmany(FD_SETSIZE, __NFDBITS)];
+} fd_set;
+
+#define FD_SET(__n, __p) ((__p)->fds_bits[(__n)/__NFDBITS] |= (1 << ((__n) % __NFDBITS)))
+#define FD_CLR(__n, __p) ((__p)->fds_bits[(__n)/__NFDBITS] &= ~(1 << ((__n) % __NFDBITS)))
+#define FD_ISSET(__n, __p) ((__p)->fds_bits[(__n)/__NFDBITS] & (1 << ((__n) % __NFDBITS)))
+
+#define FD_COPY(__f, __t) \
+{ \
+ unsigned int _i; \
+ for( _i = 0; _i < __howmany(FD_SETSIZE, __NFDBITS) ; _i++ ) \
+ (__t)->fds_bits[_i] = (__f)->fds_bits[_i]; \
+}
+
+#define FD_ZERO(__p) \
+{ \
+ unsigned int _i; \
+ for( _i = 0; _i < __howmany(FD_SETSIZE, __NFDBITS) ; _i++ ) \
+ (__p)->fds_bits[_i] = 0; \
+}
+
+# endif /* CYGONCE_ISO_SYS_SELECT_FD_SETS */
+
+# ifndef __NEED_FD_SETS_ONLY
+
+# ifndef CYGONCE_ISO_SYS_SELECT_H
+# define CYGONCE_ISO_SYS_SELECT_H
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+struct timeval;
+extern int
+select( int /* nfd */, fd_set * /* in */, fd_set * /* out */,
+ fd_set * /* ex */, struct timeval * /* tv */ );
+
+#ifdef CYGPKG_POSIX
+# include <pkgconf/posix.h>
+# ifdef CYGPKG_POSIX_SIGNALS
+# include <signal.h>
+struct timespec;
+extern int
+pselect( int /* nfd */, fd_set * /* in */, fd_set * /* out */,
+ fd_set * /* ex */, const struct timespec * /* ts */,
+ const sigset_t * /* mask */);
+# endif
+#endif
+
+# ifdef __cplusplus
+} /* extern "C" */
+# endif
+
+# endif /* CYGONCE_ISO_SYS_SELECT_H multiple inclusion protection */
+
+# endif /* __NEED_FD_SETS_ONLY */
+
+# endif
+#endif
+
+
+#endif /* if !defined(_POSIX_SOURCE) */
+/* ------------------------------------------------------------------- */
+
+/* EOF sys/select.h */
diff --git a/ecos/packages/isoinfra/current/include/sys/stat.h b/ecos/packages/isoinfra/current/include/sys/stat.h
new file mode 100644
index 0000000..d87f3b5
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/sys/stat.h
@@ -0,0 +1,157 @@
+#ifndef CYGONCE_ISO_STAT_H
+#define CYGONCE_ISO_STAT_H
+/*========================================================================
+//
+// stat.h
+//
+// POSIX file characteristics
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-05-08
+// Purpose: This file provides the macros, types and functions
+// for file characteristics required by POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <sys/stat.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+#include <cyg/infra/cyg_type.h> /* __externC */
+
+#ifdef CYGBLD_ISO_STAT_DEFS_HEADER
+# include CYGBLD_ISO_STAT_DEFS_HEADER
+#else
+
+#include <sys/types.h> /* ino_t, dev_t, etc. */
+#include <time.h> /* time_t */
+
+#define __stat_mode_DIR (1<<0)
+#define __stat_mode_CHR (1<<1)
+#define __stat_mode_BLK (1<<2)
+#define __stat_mode_REG (1<<3)
+#define __stat_mode_FIFO (1<<4)
+#define __stat_mode_MQ (1<<5)
+#define __stat_mode_SEM (1<<6)
+#define __stat_mode_SHM (1<<7)
+#define __stat_mode_LNK (1<<8)
+#define __stat_mode_SOCK (1<<9)
+
+#if !defined(_POSIX_C_SOURCE) || (_POSIX_C_SOURCE >= 200112L)
+#define S_IFDIR (__stat_mode_DIR)
+#define S_IFCHR (__stat_mode_CHR)
+#define S_IFBLK (__stat_mode_BLK)
+#define S_IFREG (__stat_mode_REG)
+#define S_IFIFO (__stat_mode_FIFO)
+#define S_IFLNK (__stat_mode_LNK)
+#define S_IFSOCK (__stat_mode_SOCK)
+#define S_IFMT (S_IFDIR|S_IFCHR|S_IFBLK|S_IFREG| \
+ S_IFIFO|S_IFLNK|S_IFSOCK)
+#endif
+
+#define S_ISDIR(__mode) ((__mode) & __stat_mode_DIR )
+#define S_ISCHR(__mode) ((__mode) & __stat_mode_CHR )
+#define S_ISBLK(__mode) ((__mode) & __stat_mode_BLK )
+#define S_ISREG(__mode) ((__mode) & __stat_mode_REG )
+#define S_ISFIFO(__mode) ((__mode) & __stat_mode_FIFO )
+#if !defined(_POSIX_C_SOURCE) || (_POSIX_C_SOURCE >= 200112L)
+#define S_ISLNK(__mode) ((__mode) & __stat_mode_LNK )
+#define S_ISSOCK(__mode) ((__mode) & __stat_mode_SOCK )
+#endif
+
+#define S_TYPEISMQ(__buf) ((__buf)->st_mode & __stat_mode_MQ )
+#define S_TYPEISSEM(__buf) ((__buf)->st_mode & __stat_mode_SEM )
+#define S_TYPEISSHM(__buf) ((__buf)->st_mode & __stat_mode_SHM )
+
+
+#define S_IRUSR (1<<16)
+#define S_IWUSR (1<<17)
+#define S_IXUSR (1<<18)
+#define S_IRWXU (S_IRUSR|S_IWUSR|S_IXUSR)
+
+#define S_IRGRP (1<<19)
+#define S_IWGRP (1<<20)
+#define S_IXGRP (1<<21)
+#define S_IRWXG (S_IRGRP|S_IWGRP|S_IXGRP)
+
+#define S_IROTH (1<<22)
+#define S_IWOTH (1<<23)
+#define S_IXOTH (1<<24)
+#define S_IRWXO (S_IROTH|S_IWOTH|S_IXOTH)
+
+#define S_ISUID (1<<25)
+#define S_ISGID (1<<26)
+
+
+struct stat {
+ mode_t st_mode; /* File mode */
+ ino_t st_ino; /* File serial number */
+ dev_t st_dev; /* ID of device containing file */
+ nlink_t st_nlink; /* Number of hard links */
+ uid_t st_uid; /* User ID of the file owner */
+ gid_t st_gid; /* Group ID of the file's group */
+ off_t st_size; /* File size (regular files only) */
+ time_t st_atime; /* Last access time */
+ time_t st_mtime; /* Last data modification time */
+ time_t st_ctime; /* Last file status change time */
+};
+
+#endif /* ifndef CYGBLD_ISO_STAT_DEFS_HEADER */
+
+/* PROTOTYPES */
+
+__externC int stat( const char *path, struct stat *buf );
+
+__externC int fstat( int fd, struct stat *buf );
+
+__externC int mkdir(const char *path, mode_t mode);
+
+__externC int chmod(const char *path, mode_t mode);
+
+#endif /* CYGONCE_ISO_STAT_H multiple inclusion protection */
+
+/* EOF stat.h */
diff --git a/ecos/packages/isoinfra/current/include/sys/time.h b/ecos/packages/isoinfra/current/include/sys/time.h
new file mode 100644
index 0000000..4123c89
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/sys/time.h
@@ -0,0 +1,90 @@
+#ifndef CYGONCE_ISO_SYS_TIME_H
+#define CYGONCE_ISO_SYS_TIME_H
+/*========================================================================
+//
+// sys/time.h
+//
+// struct timeval and gettimeofday()
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): Alexander Neundorf <neundorf@kde.org>
+// Contributors:
+// Date: 2005-10-04
+// Purpose: This file provides the time macros, types and functions
+// required by ISO C and POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <sys/time.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+/* This is the "standard" way to get NULL and size_t from stddef.h,
+ * which is the canonical location of the definitions.
+ */
+#define __need_NULL
+#define __need_size_t
+#include <stddef.h>
+
+#include <time.h>
+#ifdef CYGBLD_ISO_STRUCTTIMEVAL_HEADER
+# include CYGBLD_ISO_STRUCTTIMEVAL_HEADER
+#else
+
+/*
+ * Structure returned by gettimeofday(2),
+ * and used in other calls such as select(2).
+ */
+struct timeval {
+ time_t tv_sec; /* seconds */
+ suseconds_t tv_usec; /* and microseconds */
+};
+
+#endif
+
+
+#endif /* CYGONCE_ISO_SYS_TIME_H multiple inclusion protection */
+
+/* EOF sys/time.h */
diff --git a/ecos/packages/isoinfra/current/include/sys/types.h b/ecos/packages/isoinfra/current/include/sys/types.h
new file mode 100644
index 0000000..3fb2489
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/sys/types.h
@@ -0,0 +1,117 @@
+#ifndef CYGONCE_ISO_SYS_TYPES_H
+#define CYGONCE_ISO_SYS_TYPES_H
+/*========================================================================
+//
+// sys/types.h
+//
+// POSIX types
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides various types required by POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <sys/types.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/system.h>
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+/* This is the "standard" way to get size_t from stddef.h,
+ * which is the canonical location of the definition.
+ */
+#define __need_size_t
+#include <stddef.h>
+
+#ifdef CYGBLD_ISO_SSIZE_T_HEADER
+# include CYGBLD_ISO_SSIZE_T_HEADER
+#else
+typedef long ssize_t;
+#endif
+
+#ifdef CYGBLD_ISO_FSTYPES_HEADER
+# include CYGBLD_ISO_FSTYPES_HEADER
+#else
+typedef short dev_t;
+typedef unsigned int ino_t;
+typedef unsigned int mode_t;
+typedef unsigned short nlink_t;
+typedef long off_t;
+#endif
+
+#ifdef CYGBLD_ISO_SCHEDTYPES_HEADER
+# include CYGBLD_ISO_SCHEDTYPES_HEADER
+#else
+typedef unsigned short gid_t;
+typedef unsigned short uid_t;
+typedef int pid_t;
+#endif
+
+#if CYGINT_ISO_PMUTEXTYPES
+# include CYGBLD_ISO_PMUTEXTYPES_HEADER
+#endif
+
+#if CYGINT_ISO_PTHREADTYPES
+# include CYGBLD_ISO_PTHREADTYPES_HEADER
+#endif
+
+/* Include <sys/select.h> for backward compatibility for now */
+#define __NEED_FD_SETS_ONLY
+#include <sys/select.h>
+#undef __NEED_FD_SETS_ONLY
+
+#if !defined(_POSIX_SOURCE)
+# if CYGINT_ISO_BSDTYPES
+# ifdef CYGBLD_ISO_BSDTYPES_HEADER
+# include CYGBLD_ISO_BSDTYPES_HEADER
+# endif
+# endif
+#endif // !defined(_POSIX_SOURCE)
+
+#endif /* CYGONCE_ISO_SYS_TYPES_H multiple inclusion protection */
+
+/* EOF sys/types.h */
diff --git a/ecos/packages/isoinfra/current/include/sys/utsname.h b/ecos/packages/isoinfra/current/include/sys/utsname.h
new file mode 100644
index 0000000..75fb290
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/sys/utsname.h
@@ -0,0 +1,68 @@
+#ifndef CYGONCE_ISO_SYS_UTSNAME_H
+#define CYGONCE_ISO_SYS_UTSNAME_H
+/*========================================================================
+//
+// sys/utsname.h
+//
+// POSIX utsname header
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the utsname struct required by POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <sys/utsname.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/system.h>
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+#ifdef CYGBLD_ISO_UTSNAME_HEADER
+# include CYGBLD_ISO_UTSNAME_HEADER
+#endif
+
+#endif /* CYGONCE_ISO_SYS_UTSNAME_H multiple inclusion protection */
+
+/* EOF sys/utsname.h */
diff --git a/ecos/packages/isoinfra/current/include/termios.h b/ecos/packages/isoinfra/current/include/termios.h
new file mode 100644
index 0000000..d2ab68d
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/termios.h
@@ -0,0 +1,251 @@
+#ifndef CYGONCE_ISO_TERMIOS_H
+#define CYGONCE_ISO_TERMIOS_H
+/* ====================================================================
+//
+// termios.h
+//
+// POSIX termios
+//
+// ====================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+// ====================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-07-22
+// Purpose: POSIX termios support
+// Description:
+//
+//####DESCRIPTIONEND####
+//
+// ==================================================================*/
+
+#include <pkgconf/isoinfra.h>
+
+#if CYGINT_ISO_TERMIOS
+# ifdef CYGBLD_ISO_TERMIOS_HEADER
+# include CYGBLD_ISO_TERMIOS_HEADER
+# else
+
+/* TYPES */
+
+typedef unsigned int tcflag_t; /* terminal flags type */
+typedef unsigned char cc_t; /* control chars type */
+typedef unsigned int speed_t; /* baud rate type */
+
+#define NCCS 16 /* May as well hard-code - ASCII isn't that configurable! */
+
+struct termios {
+ tcflag_t c_iflag; /* Input mode flags */
+ tcflag_t c_oflag; /* Output mode flags */
+ tcflag_t c_cflag; /* Control mode flags */
+ tcflag_t c_lflag; /* Local mode flags */
+ cc_t c_cc[NCCS]; /* Control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
+/* CONSTANTS */
+
+/* Input mode flags */
+
+#define BRKINT (1<<0)
+#define ICRNL (1<<1)
+#define IGNBRK (1<<2)
+#define IGNCR (1<<3)
+#define IGNPAR (1<<4)
+#define INLCR (1<<5)
+#define INPCK (1<<6)
+#define ISTRIP (1<<7)
+#define IXOFF (1<<8)
+#define IXON (1<<9)
+#define PARMRK (1<<10)
+
+/* Output mode flags */
+
+#define OPOST (1<<0)
+#define ONLCR (1<<1) /* Note: This isn't POSIX */
+
+/* Control mode flags */
+
+#define CLOCAL (1<<0)
+#define CREAD (1<<1)
+#define CS5 (0)
+#define CS6 (1<<2)
+#define CS7 (1<<3)
+#define CS8 (CS6|CS7)
+#define CSIZE (CS8)
+#define CSTOPB (1<<4)
+#define HUPCL (1<<5)
+#define PARENB (1<<6)
+#define PARODD (1<<7)
+#ifndef _POSIX_SOURCE_
+# define CRTSCTS (1<<8)
+#endif
+
+/* Local mode flags */
+
+#define ECHO (1<<0)
+#define ECHOE (1<<1)
+#define ECHOK (1<<2)
+#define ECHONL (1<<3)
+#define ICANON (1<<4)
+#define IEXTEN (1<<5)
+#define ISIG (1<<6)
+#define NOFLSH (1<<7)
+#define TOSTOP (1<<8)
+
+/* Special control characters */
+
+#define VEOF 0
+#define VEOL 1
+#define VERASE 2
+#define VINTR 3
+#define VKILL 4
+#define VMIN 5
+#define VQUIT 6
+#define VSUSP 7
+#define VTIME 8
+#define VSTART 9
+#define VSTOP 10
+
+/* Baud rates */
+/* There may be tables in the implementation that rely on the
+ * values here, so only append to this table - do not insert values!
+ */
+#define B0 0
+#define B50 1
+#define B75 2
+#define B110 3
+#define B134 4
+#define B150 5
+#define B200 6
+#define B300 7
+#define B600 8
+#define B1200 9
+#define B1800 10
+#define B2400 11
+#define B3600 12
+#define B4800 13
+#define B7200 14
+#define B9600 15
+#define B14400 16
+#define B19200 17
+#define B38400 18
+#define B57600 19
+#define B115200 20
+#define B230400 21
+#define B460800 22
+#define B500000 23
+#define B576000 24
+#define B921600 25
+#define B1000000 26
+#define B1152000 27
+#define B1500000 28
+#define B2000000 29
+#define B2500000 30
+#define B3000000 31
+#define B3500000 32
+#define B4000000 33
+
+
+/* Optional actions to tcsetattr() */
+
+#define TCSANOW 0
+#define TCSADRAIN 1
+#define TCSAFLUSH 2
+
+/* Queue selectors for tcflush() */
+
+#define TCIFLUSH 0
+#define TCOFLUSH 1
+#define TCIOFLUSH 2
+
+/* Actions for tcflow() */
+
+#define TCOOFF 0
+#define TCOON 1
+#define TCIOFF 2
+#define TCION 3
+
+
+/* FUNCTIONS */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern speed_t
+cfgetospeed( const struct termios *__termios_p );
+
+extern int
+cfsetospeed( struct termios *__termios_p, speed_t __speed );
+
+extern speed_t
+cfgetispeed( const struct termios *__termios_p );
+
+extern int
+cfsetispeed( struct termios *__termios_p, speed_t __speed );
+
+extern int
+tcgetattr( int __fildes, struct termios *__termios_p );
+
+extern int
+tcsetattr( int __fildes, int __optact, const struct termios *__termios_p );
+
+extern int
+tcsendbreak( int __fildes, int __duration );
+
+extern int
+tcdrain( int __fildes );
+
+extern int
+tcflush( int __fildes, int __queue_sel );
+
+extern int
+tcflow( int __fildes, int __action );
+
+/* tcgetpgrp() and tcsetpgrp() not included in the absence of job control */
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+# endif /* ifndef CYGBLD_ISO_TERMIOS_HEADER */
+#endif /* if CYGINT_ISO_TERMIOS */
+
+
+#endif /* ifndef CYGONCE_ISO_TERMIOS_H */
+
+/* EOF termios.h */
diff --git a/ecos/packages/isoinfra/current/include/time.h b/ecos/packages/isoinfra/current/include/time.h
new file mode 100644
index 0000000..1ab583c
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/time.h
@@ -0,0 +1,158 @@
+#ifndef CYGONCE_ISO_TIME_H
+#define CYGONCE_ISO_TIME_H
+/*========================================================================
+//
+// time.h
+//
+// ISO time functions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): jlarmour
+// Contributors:
+// Date: 2000-04-14
+// Purpose: This file provides the time macros, types and functions
+// required by ISO C and POSIX 1003.1.
+// Description: The real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <time.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+/* INCLUDES */
+
+/* This is the "standard" way to get NULL and size_t from stddef.h,
+ * which is the canonical location of the definitions.
+ */
+#define __need_NULL
+#define __need_size_t
+#include <stddef.h>
+
+#ifdef CYGBLD_ISO_TIME_T_HEADER
+# include CYGBLD_ISO_TIME_T_HEADER
+#else
+
+/* Define time_t as per ISO C para 7.12.1
+ * It is conventionally given the meaning of seconds since the
+ * Epoch (00:00:00 GMT, 1970-01-01), but don't rely on this - always use
+ * the type opaquely
+ */
+typedef long time_t;
+
+/* Additional POSIX-derived types. Not the ideal place as these should
+ * also be defined in <sys/types.h>, along with time_t but that will
+ * require major upheaval to resolve these sorts of minor strict
+ * compliance issues properly.
+ */
+typedef long suseconds_t;
+typedef long useconds_t;
+
+# define __time_t_defined
+
+#endif
+
+#ifdef CYGBLD_ISO_CLOCK_T_HEADER
+# include CYGBLD_ISO_CLOCK_T_HEADER
+#else
+
+/* What to divide clock_t by to get seconds (para 7.12.1)
+ * According to SUS3, CLOCKS_PER_SEC must be 1 million on all
+ * XSI-conformant systems.
+ */
+# define CLOCKS_PER_SEC 1000000
+
+/* Define clock_t as per ISO C para 7.12.1 */
+
+typedef long clock_t;
+# define __clock_t_defined
+#endif
+
+#ifdef CYGINT_ISO_POSIX_CLOCK_TYPES
+# include CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER
+#else
+
+/* Provide a default struct timespec. */
+
+struct timespec
+{
+ time_t tv_sec;
+ long tv_nsec;
+};
+#endif
+
+#ifdef CYGINT_ISO_POSIX_TIMER_TYPES
+# include CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER
+#else
+
+/* Provide a default struct itimerspec. */
+struct itimerspec
+{
+ struct timespec it_interval;
+ struct timespec it_value;
+};
+
+#endif
+
+#ifdef CYGINT_ISO_C_TIME_TYPES
+# include CYGBLD_ISO_C_TIME_TYPES_HEADER
+#endif
+
+#ifdef CYGINT_ISO_POSIX_CLOCKS
+# include CYGBLD_ISO_POSIX_CLOCKS_HEADER
+#endif
+
+#ifdef CYGINT_ISO_POSIX_TIMERS
+# include CYGBLD_ISO_POSIX_TIMERS_HEADER
+#endif
+
+#ifdef CYGINT_ISO_C_CLOCK_FUNCS
+# include CYGBLD_ISO_C_CLOCK_FUNCS_HEADER
+#endif
+
+#ifdef CYGINT_ISO_TZSET
+# include CYGBLD_ISO_TZSET_HEADER
+#endif
+
+#endif /* CYGONCE_ISO_TIME_H multiple inclusion protection */
+
+/* EOF time.h */
diff --git a/ecos/packages/isoinfra/current/include/unistd.h b/ecos/packages/isoinfra/current/include/unistd.h
new file mode 100644
index 0000000..690b41c
--- /dev/null
+++ b/ecos/packages/isoinfra/current/include/unistd.h
@@ -0,0 +1,276 @@
+#ifndef CYGONCE_ISO_UNISTD_H
+#define CYGONCE_ISO_UNISTD_H
+/*========================================================================
+//
+// unistd.h
+//
+// POSIX UNIX standard definitions
+//
+//========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos 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 General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): nickg
+// Contributors:
+// Date: 2000-06-01
+// Purpose: This file provides the macros, types and functions
+// required by POSIX 1003.1.
+// Description: Much of the real contents of this file get set from the
+// configuration (set by the implementation)
+// Usage: #include <unistd.h>
+//
+//####DESCRIPTIONEND####
+//
+//======================================================================
+*/
+
+/* CONFIGURATION */
+
+#include <pkgconf/isoinfra.h> /* Configuration header */
+
+
+/* INCLUDES */
+
+#include <sys/types.h>
+
+/* This is the "standard" way to get NULL and size_t from stddef.h,
+ * which is the canonical location of the definitions.
+ */
+#define __need_NULL
+#define __need_size_t
+#include <stddef.h>
+
+
+#ifdef CYGINT_ISO_POSIX_TIMER_OPS
+# ifdef CYGBLD_ISO_POSIX_TIMER_OPS_HEADER
+# include CYGBLD_ISO_POSIX_TIMER_OPS_HEADER
+# else
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+extern unsigned int
+alarm( unsigned int /* seconds */ );
+
+extern int
+pause( void );
+
+# ifdef __cplusplus
+} /* extern "C" */
+# endif
+
+# endif
+#endif
+
+#ifdef CYGINT_ISO_POSIX_SLEEP
+# ifdef CYGBLD_ISO_POSIX_SLEEP_HEADER
+# include CYGBLD_ISO_POSIX_SLEEP_HEADER
+# else
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+unsigned int
+sleep( unsigned int /* seconds */ );
+
+# ifdef __cplusplus
+} /* extern "C" */
+# endif
+# endif
+#endif
+
+
+/* ------------------------------------------------------------------- */
+
+/* FIXME: The below was copied in verbatim by Nick, but needs to be grouped
+ by functionality and linked with interfaces as with everything else
+*/
+
+/* CONSTANTS */
+
+/* Configuration constants */
+
+#define _POSIX_VERSION 199506L
+
+/* constants for access() */
+#define R_OK 1
+#define W_OK 2
+#define X_OK 4
+#define F_OK 8
+
+/* constants for lseek */
+#ifndef SEEK_SET
+#define SEEK_SET 0
+#define SEEK_CUR 1
+#define SEEK_END 2
+#endif
+
+#define STDIN_FILENO 0
+#define STDOUT_FILENO 1
+#define STDERR_FILENO 2
+
+/* Variable names for sysconf() */
+#define _SC_AIO_LISTIO_MAX 1
+#define _SC_AIO_MAX 2
+#define _SC_AIO_PRIO_DELTA_MAX 3
+#define _SC_ARG_MAX 4
+#define _SC_ASYNCHRONOUS_IO 5
+#define _SC_CHILD_MAX 6
+#define _SC_CLK_TCK 7
+#define _SC_DELAYTIMER_MAX 8
+#define _SC_FSYNC 9
+#define _SC_GETGR_R_SIZE_MAX 10
+#define _SC_GETPW_R_SIZE_MAX 11
+#define _SC_JOB_CONTROL 12
+#define _SC_LOGIN_NAME_MAX 13
+#define _SC_MAPPED_FILES 14
+#define _SC_MEMLOCK 15
+#define _SC_MEMLOCK_RANGE 16
+#define _SC_MEMORY_PROTECTION 17
+#define _SC_MESSAGE_PASSING 18
+#define _SC_MQ_OPEN_MAX 19
+#define _SC_MQ_PRIO_MAX 20
+#define _SC_NGROUPS_MAX 21
+#define _SC_OPEN_MAX 22
+#define _SC_PAGESIZE 23
+#define _SC_PRIORITIZED_IO 24
+#define _SC_PRIORITY_SCHEDULING 25
+#define _SC_REALTIME_SIGNALS 26
+#define _SC_RTSIG_MAX 27
+#define _SC_SAVED_IDS 28
+#define _SC_SEMAPHORES 29
+#define _SC_SEM_NSEMS_MAX 30
+#define _SC_SEM_VALUE_MAX 31
+#define _SC_SHARED_MEMORY_OBJECTS 32
+#define _SC_SIGQUEUE_MAX 33
+#define _SC_STREAM_MAX 34
+#define _SC_SYNCHRONIZED_IO 35
+#define _SC_THREADS 36
+#define _SC_THREAD_ATTR_STACKADDR 37
+#define _SC_THREAD_ATTR_STACKSIZE 38
+#define _SC_THREAD_DESTRUCTOR_ITERATIONS 39
+#define _SC_THREAD_KEYS_MAX 40
+#define _SC_THREAD_PRIO_INHERIT 41
+#define _SC_THREAD_PRIO_PROTECT 42
+#define _SC_THREAD_PRIORITY_SCHEDULING 43
+#define _SC_THREAD_PROCESS_SHARED 44
+#define _SC_THREAD_SAFE_FUNCTIONS 45
+#define _SC_THREAD_STACK_MIN 46
+#define _SC_THREAD_THREADS_MAX 47
+#define _SC_TIMERS 48
+#define _SC_TIMER_MAX 49
+#define _SC_TTY_NAME_MAX 50
+#define _SC_TZNAME_MAX 51
+#define _SC_VERSION 52
+
+/* Variable names for pathconf() */
+#define _PC_ASYNC_IO 1
+#define _PC_CHOWN_RESTRICTED 2
+#define _PC_LINK_MAX 3
+#define _PC_MAX_CANON 4
+#define _PC_MAX_INPUT 5
+#define _PC_NAME_MAX 6
+#define _PC_NO_TRUNC 7
+#define _PC_PATH_MAX 8
+#define _PC_PIPE_BUF 9
+#define _PC_PRIO_IO 10
+#define _PC_SYNC_IO 11
+#define _PC_VDISABLE 12
+
+
+/* Standard function prototypes */
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+extern int link(const char *path1, const char *path2);
+extern int unlink(const char *path);
+extern int rmdir(const char *path);
+extern int access(const char *path, int amode);
+extern int chown(const char *path, uid_t owner, uid_t group);
+extern long pathconf(const char *path, int name);
+extern long fpathconf(int fd, int name);
+extern int pipe(int fildes[2]);
+extern int dup(int fd);
+extern int dup2(int fd,int fd2);
+extern int close(int fd);
+extern ssize_t read(int fd, void *buf, size_t nbyte);
+extern ssize_t write(int fd, const void *buf, size_t nbyte);
+extern off_t lseek(int fd, off_t offset, int whence);
+extern int fsync( int fd );
+extern int ftruncate(int fd, off_t length);
+
+extern int chdir(const char *path);
+extern char *getcwd(char *buf, size_t size);
+
+extern pid_t getpid(void);
+extern pid_t getppid(void);
+extern uid_t getuid(void);
+extern uid_t geteuid(void);
+extern uid_t getgid(void);
+extern uid_t getegid(void);
+extern int setuid(uid_t uid);
+extern int setgid(uid_t uid);
+extern int getgroups(int setsize, uid_t *list);
+extern char *getlogin(void);
+extern char *cuserid(char *s);
+extern pid_t getpgrp(void);
+extern pid_t setsid(void);
+extern int setpgid(pid_t pid, pid_t pgid);
+extern char *getenv(const char *name);
+extern char *ctermid(char *s);
+extern char *ttyname(int fd);
+extern int isatty(int fd);
+extern long sysconf(int name);
+
+extern int vfork(void);
+extern int execl(const char *path, const char *arg, ...);
+extern int execv(const char *path,char **argv);
+extern int execle(const char *path, const char *arg , ... );
+extern int execlp(const char *file, const char * argv, ...);
+extern int execvp(const char *file, char **argv);
+extern int execve(const char *name, char **argv, char **envv);
+extern void _exit(int code);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* CYGONCE_ISO_UNISTD_H multiple inclusion protection */
+
+/* EOF unistd.h */