OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /or1k/trunk/ecos-2.0/packages/isoinfra/v2_0
    from Rev 1254 to Rev 1765
    Reverse comparison

Rev 1254 → Rev 1765

/cdl/isoinfra.cdl
0,0 → 1,1246
# ====================================================================
#
# 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 Red Hat, 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.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
##
## This exception does not invalidate any other reasons why a work based on
## this file might be covered by the GNU General Public License.
##
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
## at http://sources.redhat.com/ecos/ecos-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 {
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_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
/include/netdb.h
0,0 → 1,107
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/time.h
0,0 → 1,168
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 int time_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 CYGBLD_ISO_STRUCTTIMEVAL_HEADER
# include CYGBLD_ISO_STRUCTTIMEVAL_HEADER
#else
# ifndef _POSIX_SOURCE
 
/*
* Structure returned by gettimeofday(2),
* and used in other calls such as select(2).
*/
struct timeval {
long tv_sec; /* seconds */
long tv_usec; /* and microseconds */
};
 
# endif /* _POSIX_SOURCE */
#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 */
/include/locale.h
0,0 → 1,148
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/mqueue.h
0,0 → 1,149
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/assert.h
0,0 → 1,121
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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) && defined(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 */
/include/limits.h
0,0 → 1,222
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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_SSIZET_HEADER
# include CYGBLD_ISO_SSIZET_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_
 
#include_next <limits.h>
 
/* EOF limits.h */
/include/setjmp.h
0,0 → 1,75
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/float.h
0,0 → 1,67
/* 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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/fcntl.h
0,0 → 1,169
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/unistd.h
0,0 → 1,278
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 rename(const char *old_name, const char *new_name);
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(char *path,...);
extern int execv(char *path,char **argv);
extern int execle(char *path,...);
extern int execlp(char *file,...);
extern int execvp(char *file, char **argv);
extern int execve(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 */
/include/string.h
0,0 → 1,130
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/stddef.h
0,0 → 1,66
/* 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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/signal.h
0,0 → 1,76
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/stdlib.h
0,0 → 1,508
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/stdio.h
0,0 → 1,149
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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>
 
#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 );
 
extern FILE *
fdopen( int __fildes, const char *__type );
 
# ifdef __cplusplus
} // extern "C"
# endif
# endif
#endif
 
#endif /* CYGONCE_ISO_STDIO_H multiple inclusion protection */
 
/* EOF stdio.h */
/include/termios.h
0,0 → 1,252
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/semaphore.h
0,0 → 1,73
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/stdarg.h
0,0 → 1,67
/* 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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/ctype.h
0,0 → 1,132
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/errno.h
0,0 → 1,76
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/dirent.h
0,0 → 1,95
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/sched.h
0,0 → 1,125
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/dlfcn.h
0,0 → 1,65
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/pthread.h
0,0 → 1,79
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/sys/stat.h
0,0 → 1,136
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
 
#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 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 )
 
#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<<8)
#define S_IWUSR (1<<9)
#define S_IXUSR (1<<10)
#define S_IRWXU (S_IRUSR|S_IWUSR|S_IXUSR)
 
#define S_IRGRP (1<<11)
#define S_IWGRP (1<<12)
#define S_IXGRP (1<<13)
#define S_IRWXG (S_IRGRP|S_IWGRP|S_IXGRP)
 
#define S_IROTH (1<<14)
#define S_IWOTH (1<<15)
#define S_IXOTH (1<<16)
#define S_IRWXO (S_IROTH|S_IWOTH|S_IXOTH)
 
#define S_ISUID (1<<17)
#define S_ISGID (1<<18)
 
 
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);
 
#endif /* CYGONCE_ISO_STAT_H multiple inclusion protection */
 
/* EOF stat.h */
/include/sys/utsname.h
0,0 → 1,69
#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 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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 */
/include/sys/select.h
0,0 → 1,156
/*========================================================================
//
// 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 Red Hat, Inc.
// Copyright (C) 2002 Nick Garnett
//
// 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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/isoinfra.h> /* Configuration header */
 
/* ------------------------------------------------------------------- */
 
#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
 
#include <signal.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
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
# 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 */
/include/sys/types.h
0,0 → 1,119
#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 Red Hat, Inc.
// Copyright (C) 2002 Nick Garnett
//
// 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-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_SSIZET_HEADER
# include CYGBLD_ISO_SSIZET_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 */
/ChangeLog
0,0 → 1,381
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
 
//===========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, 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.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//===========================================================================

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.