⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stdio.h

📁 ecos为实时嵌入式操作系统
💻 H
字号:
#ifndef CYGONCE_LIBC_STDIO_H#define CYGONCE_LIBC_STDIO_H//========================================================================////      stdio.h////      ISO C standard I/O routines - with some POSIX 1003.1 extensions////========================================================================//####COPYRIGHTBEGIN####//// -------------------------------------------// The contents of this file are subject to the Cygnus eCos Public License// Version 1.0 (the "License"); you may not use this file except in// compliance with the License.  You may obtain a copy of the License at// http://sourceware.cygnus.com/ecos// // Software distributed under the License is distributed on an "AS IS"// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the// License for the specific language governing rights and limitations under// the License.// // The Original Code is eCos - Embedded Cygnus Operating System, released// September 30, 1998.// // The Initial Developer of the Original Code is Cygnus.  Portions created// by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions.  All Rights Reserved.// -------------------------------------------////####COPYRIGHTEND####//========================================================================//#####DESCRIPTIONBEGIN####//// Author(s):     jlarmour// Contributors:  jlarmour// Date:          1999-01-19// Purpose:       ISO C standard I/O routines// Description: // Usage:         #include <stdio.h>////####DESCRIPTIONEND####////========================================================================// CONFIGURATION#include <pkgconf/libc.h>   // Configuration header// Include the C library?#ifdef CYGPKG_LIBC     // INCLUDES#include <cyg/infra/cyg_type.h> // common type definitions and support#include <stddef.h>             // NULL and size_t from compiler#include <stdarg.h>             // va_list from compiler// CONSTANTS// Some of these values are odd to ensure that asserts have better effect// should spurious values be passed to functions expecting these constants.// _IOFBF, _IOLBF, and _IONBF specify full, line or no buffering when used// with setvbuf() - ISO C standard chap 7.9.1#define _IOFBF      (-2)#define _IOLBF      (-4)#define _IONBF      (-8)// EOF is a macro defined to any negative integer constant - ISO C standard// chap. 7.9.1#define EOF         (-1)// SEEK_CUR, SEEK_END and SEEK_SET are used with fseek() as position// anchors - ISO C standard chap. 7.9.1#define SEEK_SET    0#define SEEK_CUR    1#define SEEK_END    2// TYPE DEFINITIONS// A type capable of specifying uniquely every file position - ISO C// standard chap 7.9.1typedef cyg_ucount32 fpos_t;typedef CYG_ADDRESS FILE; // FILE is just cast to an address here. It is                          // uncast internally to the C library in stream.hxx                          // as the C++ Cyg_StdioStream class. Optional                          // run-time checking can be enabled to ensure that                          // the cast is valid, using the standard assertion                          // functionality// EXTERNAL VARIABLES// Default file streams for input/output. These only need to be// expressions, not l-values - ISO C standard chap. 7.9.1//// cyg_libc_stdio_stdin/out/err aren't really files of course,// but they are only named here so that we can take the address of// them, in which case it doesn't matter what type they point to really//// CYGPRI_LIBC_STDIO_NO_DEFAULT_STREAMS is used when initializing// cyg_libc_stdio_stdin/out/err privately inside the C library#ifndef CYGPRI_LIBC_STDIO_NO_DEFAULT_STREAMSextern FILE cyg_libc_stdio_stdin, cyg_libc_stdio_stdout,            cyg_libc_stdio_stderr; #define stdin  (&cyg_libc_stdio_stdin)#define stdout (&cyg_libc_stdio_stdout)#define stderr (&cyg_libc_stdio_stderr)#endif// FUNCTION PROTOTYPES//========================================================================// ISO C 7.9.5 File access functionsexternC intfclose( FILE * /* stream */ );externC intfflush( FILE * /* stream */ );externC FILE *fopen( const char * /* filename */, const char * /* mode */ );externC FILE *freopen( const char * /* filename */, const char * /* mode */,         FILE * /* stream */ );externC voidsetbuf( FILE * /* stream */, char * /* buffer */ );externC intsetvbuf( FILE * /* stream */, char * /* buffer */, int /* mode */,         size_t /* size */ );//========================================================================// ISO C 7.9.6 Formatted input/output functionsexternC intfprintf( FILE * /* stream */, const char * /* format */, ... );externC intfscanf( FILE * /* stream */, const char * /* format */, ... );externC intprintf( const char * /* format */, ... );externC intscanf( const char * /* format */, ... );externC intsprintf( char * /* str */, const char * /* format */, ... );externC intsscanf( const char * /* str */, const char * /* format */, ... );externC intvfprintf( FILE * /* stream */, const char * /* format */,          va_list /* args */ );externC intvprintf( const char * /* format */, va_list /* args */ );externC intvsprintf( char * /* str */, const char * /* format */,          va_list /* args */ );//========================================================================// ISO C 7.9.7 Character input/output functionsexternC intfgetc( FILE * /* stream */ );externC char *fgets( char * /* str */, int /* length */, FILE * /* stream */ );externC intfputc( int /* c */, FILE * /* stream */ );externC intfputs( const char * /* str */, FILE * /* stream */ );// no function equivalent is required for these, so we can just #define// them#define getc( __stream ) fgetc( __stream )#define getchar() fgetc( stdin )externC char *gets( char * );#define putc(__c, __stream) fputc(__c, __stream)#define putchar(__c) fputc(__c, stdout)externC intputs( const char * /* str */ );externC intungetc( int /* c */, FILE * /* stream */ );//========================================================================// ISO C 7.9.8 Direct input/output functionsexternC size_tfread( void * /* ptr */, size_t /* object_size */,       size_t /* num_objects */, FILE * /* stream */ );externC size_tfwrite( const void * /* ptr */, size_t /* object_size */,        size_t /* num_objects */, FILE * /* stream */ );//========================================================================// ISO C 7.9.10 Error-handling functionsexternC voidclearerr( FILE * /* stream */ );externC intfeof( FILE * /* stream */ );externC intferror( FILE * /* stream */ );externC voidperror( const char * /* prefix_str */ );//========================================================================// Other non-ISO C functionsexternC intfnprintf( FILE * /* stream */, size_t /* length */,          const char * /* format */, ... );externC intsnprintf( char * /* str */, size_t /* length */, const char * /* format */,          ... );externC intvfnprintf( FILE * /* stream */, size_t /* length */,           const char * /* format */, va_list /* args */ );externC intvsnprintf( char * /* str */, size_t /* length */,           const char * /* format */, va_list /* args */ );externC intvscanf( const char * /* format */, va_list /* args */ );externC intvsscanf( const char * /* str */, const char * /* format */,         va_list /* args */ );externC intvfscanf( FILE * /* stream */, const char * /* format */,         va_list /* args */ );// INLINE FUNCTIONS#ifdef CYGIMP_LIBC_STDIO_INLINES#include <stdio.inl>#endif#endif // ifdef CYGPKG_LIBC     #endif // CYGONCE_LIBC_STDIO_H multiple inclusion protection// EOF stdio.h

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -