URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/rtos/ecos-2.0/packages/isoinfra
- from Rev 27 to Rev 174
- ↔ Reverse comparison
Rev 27 → Rev 174
/v2_0/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 |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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 */ |
/v2_0/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#### |
//=========================================================================== |