📄 stdio.cdl
字号:
# ====================================================================
#
# stdio.cdl
#
# C library stdio related 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-14
#
#####DESCRIPTIONEND####
#
# ====================================================================
cdl_package CYGPKG_LIBC_STDIO {
display "ISO C library standard input/output functions"
description "
This package provides standard input/output functions associated
with the header file <stdio.h> as specified by the
ISO C standard - ISO/IEC 9899:1990."
doc ref/libc.html
include_dir cyg/libc/stdio
parent CYGPKG_LIBC
requires CYGPKG_IO
requires CYGPKG_LIBC_I18N
implements CYGINT_ISO_STDIO_FILETYPES
implements CYGINT_ISO_STDIO_FILEACCESS
implements CYGINT_ISO_STDIO_FILEPOS
implements CYGINT_ISO_STDIO_FILEOPS
implements CYGINT_ISO_STDIO_FORMATTED_IO
implements CYGINT_ISO_STDIO_CHAR_IO
implements CYGINT_ISO_STDIO_DIRECT_IO
implements CYGINT_ISO_STDIO_ERROR
implements CYGINT_ISO_STDIO_STREAMS
requires { (CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" ? \ CYGPKG_IO_SERIAL_HALDIAG : 1) }
requires { CYGBLD_ISO_STDIO_FILETYPES_HEADER == \ "<cyg/libc/stdio/stdio.h>" }
requires { CYGBLD_ISO_STDIO_FILEACCESS_HEADER == \ "<cyg/libc/stdio/stdio.h>" }
requires { CYGBLD_ISO_STDIO_FILEPOS_HEADER == \ "<cyg/libc/stdio/stdio.h>" }
requires { CYGBLD_ISO_STDIO_FILEOPS_HEADER == \ "<cyg/libc/stdio/stdio.h>" }
requires { CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER == \ "<cyg/libc/stdio/stdio.h>" }
requires { CYGBLD_ISO_STDIO_CHAR_IO_HEADER == \ "<cyg/libc/stdio/stdio.h>" }
requires { CYGBLD_ISO_STDIO_DIRECT_IO_HEADER == \ "<cyg/libc/stdio/stdio.h>" }
requires { CYGBLD_ISO_STDIO_ERROR_HEADER == \ "<cyg/libc/stdio/stdio.h>" }
requires { CYGBLD_ISO_STDIO_STREAMS_HEADER == \ "<cyg/libc/stdio/stdio.h>" }
requires CYGPKG_ISOINFRA
requires CYGINT_ISO_ERRNO_CODES
requires CYGINT_ISO_ERRNO
requires CYGINT_ISO_STRERROR
requires CYGINT_ISO_STRING_STRFUNCS
requires CYGINT_ISO_STRING_MEMFUNCS
# The following is for scanf only. We could express this better,
# particularly since scanf is also dependent on the optional ungetc.
requires CYGINT_ISO_STDLIB_STRCONV
compile common/fclose.cxx common/feof.cxx \ common/fflush.cxx common/fopen.cxx \ common/freopen.cxx common/setvbuf.cxx \ common/snprintf.cxx common/sprintf.cxx \ common/sscanf.cxx common/stderr.cxx \ common/stdin.cxx common/stdiofiles.cxx \ common/fseek.cxx common/stdioinlines.cxx\ common/stdiosupp.cxx common/stdout.cxx \ common/stream.cxx common/streambuf.cxx \ common/ungetc.cxx common/vsnprintf.cxx \ common/vsscanf.cxx common/fileops.cxx \ \ input/fgetc.cxx input/fgets.cxx \ input/fread.cxx input/fscanf.cxx \ input/gets.cxx input/scanf.cxx \ input/vfscanf.cxx \ \ output/fnprintf.cxx output/fprintf.cxx \ output/fputc.cxx output/fputs.cxx \ output/fwrite.cxx output/printf.cxx \ output/vfnprintf.cxx
# ====================================================================
cdl_option CYGIMP_LIBC_STDIO_INLINES {
display "Inline versions of <stdio.h> functions"
default_value 1
description "
This option chooses whether some of the
particularly simple functions from
<stdio.h> are available as inline
functions. This may improve performance, and as
the functions are small, may even improve code
size."
}
cdl_option FOPEN_MAX {
display "Permitted number of open files"
flavor data
legal_values 3 to 0x7fffffff
default_value 8
description "
This option controls the guaranteed minimum
number of simultaneously open files. The ISO
C standard requires it to be defined (para
7.9.1), and if strictly compliant, it must be
at least 8 (para 7.9.3). In practice it can be
as low as 3 - for stdin, stdout and stderr."
}
cdl_option FILENAME_MAX {
display "Maximum length of filename"
flavor data
legal_values 1 to 0x7fffffff
default_value 16
description "
This option defines the maximum allowed size of
a filename in characters. The ISO C standard
requires it to be defined (para 7.9.1)."
}
cdl_option L_tmpnam {
display "Maximum length of filenames for temporary files"
flavor data
legal_values 4 to 0x7fffffff
default_value 16
description "
This option defines the maximum allowed size of
filenames for temporary files as generated by
tmpnam(). It is measured in characters, and the
ISO C standard requires it to be defined (para
7.9.1)."
}
cdl_option TMP_MAX {
display "Unique file names generated by tmpnam()"
flavor data
legal_values 1 to 0x7fffffff
default_value 25
description "
This option defines the minimum number of
unique file names generated by tmpnam(). The
ISO C standard requires it to be defined (para
7.9.1) and for ISO compliance it should be at least
25. Note that TMP_MAX names may not be generated
if L_tmpnam is too small."
}
cdl_component CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO {
display "Buffered I/O"
flavor bool
default_value 1
description "
This option controls whether input/output
through the <stdio.h> functions is buffered.
This may save some memory per file. It
is equivalent to putting every file into
non-buffered mode (_IONBF) through setvbuf(),
except now it can never be altered back to
buffered mode. Disabling buffering is strictly
non-compliant with the ISO C standard."
cdl_option CYGNUM_LIBC_STDIO_BUFSIZE {
display "Default buffer size"
flavor data
legal_values 1 to 0x7fffffff
default_value 256
description "
This option defines the default size of buffer
used with calls to setbuf(), and is the default
size for buffered streams that have not had
either setbuf() or setvbuf() invoked on them.
It is exactly equivalent to the standard
constant BUFSIZ, except that it is 0 if
CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO is disabled.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -