libio.h

来自「此工具是arm-linux-GCC交叉编译工具(cross-3.4.4)」· C头文件 代码 · 共 536 行 · 第 1/2 页

H
536
字号
#define _IO_file_flags _flags  /* The following pointers correspond to the C++ streambuf protocol. */  /* Note:  Tk uses the _IO_read_ptr and _IO_read_end fields directly. */  char* _IO_read_ptr;	/* Current read pointer */  char* _IO_read_end;	/* End of get area. */  char* _IO_read_base;	/* Start of putback+get area. */  char* _IO_write_base;	/* Start of put area. */  char* _IO_write_ptr;	/* Current put pointer. */  char* _IO_write_end;	/* End of put area. */  char* _IO_buf_base;	/* Start of reserve area. */  char* _IO_buf_end;	/* End of reserve area. */  /* The following fields are used to support backing up and undo. */  char *_IO_save_base; /* Pointer to start of non-current get area. */  char *_IO_backup_base;  /* Pointer to first valid character of backup area */  char *_IO_save_end; /* Pointer to end of non-current get area. */  struct _IO_marker *_markers;  struct _IO_FILE *_chain;  int _fileno;#if 0  int _blksize;#else  int _flags2;#endif  _IO_off_t _old_offset; /* This used to be _offset but it's too small.  */#define __HAVE_COLUMN /* temporary */  /* 1+column number of pbase(); 0 is unknown. */  unsigned short _cur_column;  signed char _vtable_offset;  char _shortbuf[1];  /*  char* _save_gptr;  char* _save_egptr; */  _IO_lock_t *_lock;#ifdef _IO_USE_OLD_IO_FILE};struct _IO_FILE_complete{  struct _IO_FILE _file;#endif#if defined _G_IO_IO_FILE_VERSION && _G_IO_IO_FILE_VERSION == 0x20001  _IO_off64_t _offset;# if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T  /* Wide character stream stuff.  */  struct _IO_codecvt *_codecvt;  struct _IO_wide_data *_wide_data;# else  void *__pad1;  void *__pad2;# endif  int _mode;  /* Make sure we don't get into trouble again.  */  char _unused2[15 * sizeof (int) - 2 * sizeof (void *)];#endif};#ifndef __cplusplustypedef struct _IO_FILE _IO_FILE;#endifstruct _IO_FILE_plus;extern struct _IO_FILE_plus _IO_2_1_stdin_;extern struct _IO_FILE_plus _IO_2_1_stdout_;extern struct _IO_FILE_plus _IO_2_1_stderr_;#ifndef _LIBC#define _IO_stdin ((_IO_FILE*)(&_IO_2_1_stdin_))#define _IO_stdout ((_IO_FILE*)(&_IO_2_1_stdout_))#define _IO_stderr ((_IO_FILE*)(&_IO_2_1_stderr_))#elseextern _IO_FILE *_IO_stdin attribute_hidden;extern _IO_FILE *_IO_stdout attribute_hidden;extern _IO_FILE *_IO_stderr attribute_hidden;#endif/* Functions to do I/O and file management for a stream.  *//* Read NBYTES bytes from COOKIE into a buffer pointed to by BUF.   Return number of bytes read.  */typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);/* Write N bytes pointed to by BUF to COOKIE.  Write all N bytes   unless there is an error.  Return number of bytes written, or -1 if   there is an error without writing anything.  If the file has been   opened for append (__mode.__append set), then set the file pointer   to the end of the file and then do the write; if not, just write at   the current file pointer.  */typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,				 size_t __n);/* Move COOKIE's file position to *POS bytes from the   beginning of the file (if W is SEEK_SET),   the current position (if W is SEEK_CUR),   or the end of the file (if W is SEEK_END).   Set *POS to the new file position.   Returns zero if successful, nonzero if not.  */typedef int __io_seek_fn (void *__cookie, _IO_off64_t *__pos, int __w);/* Close COOKIE.  */typedef int __io_close_fn (void *__cookie);#ifdef _GNU_SOURCE/* User-visible names for the above.  */typedef __io_read_fn cookie_read_function_t;typedef __io_write_fn cookie_write_function_t;typedef __io_seek_fn cookie_seek_function_t;typedef __io_close_fn cookie_close_function_t;/* The structure with the cookie function pointers.  */typedef struct{  __io_read_fn *read;		/* Read bytes.  */  __io_write_fn *write;		/* Write bytes.  */  __io_seek_fn *seek;		/* Seek/tell file position.  */  __io_close_fn *close;		/* Close file.  */} _IO_cookie_io_functions_t;typedef _IO_cookie_io_functions_t cookie_io_functions_t;struct _IO_cookie_file;/* Initialize one of those.  */extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,			     void *__cookie, _IO_cookie_io_functions_t __fns);#endif#ifdef __cplusplusextern "C" {#endifextern int __underflow (_IO_FILE *) __THROW;extern int __uflow (_IO_FILE *) __THROW;extern int __overflow (_IO_FILE *, int) __THROW;extern _IO_wint_t __wunderflow (_IO_FILE *) __THROW;extern _IO_wint_t __wuflow (_IO_FILE *) __THROW;extern _IO_wint_t __woverflow (_IO_FILE *, _IO_wint_t) __THROW;#if  __GNUC__ >= 3# define _IO_BE(expr, res) __builtin_expect (expr, res)#else# define _IO_BE(expr, res) (expr)#endif#define _IO_getc_unlocked(_fp) \       (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) \	? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++)#define _IO_peekc_unlocked(_fp) \       (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) \	  && __underflow (_fp) == EOF ? EOF \	: *(unsigned char *) (_fp)->_IO_read_ptr)#define _IO_putc_unlocked(_ch, _fp) \   (_IO_BE ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end, 0) \    ? __overflow (_fp, (unsigned char) (_ch)) \    : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch)))#define _IO_getwc_unlocked(_fp) \  (_IO_BE ((_fp)->_wide_data->_IO_read_ptr >= (_fp)->_wide_data->_IO_read_end,\	   0) \   ? __wuflow (_fp) : (_IO_wint_t) *(_fp)->_wide_data->_IO_read_ptr++)#define _IO_putwc_unlocked(_wch, _fp) \  (_IO_BE ((_fp)->_wide_data->_IO_write_ptr \	   >= (_fp)->_wide_data->_IO_write_end, 0) \   ? __woverflow (_fp, _wch) \   : (_IO_wint_t) (*(_fp)->_wide_data->_IO_write_ptr++ = (_wch)))#define _IO_feof_unlocked(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0)#define _IO_ferror_unlocked(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0)extern int _IO_getc (_IO_FILE *__fp) __THROW;extern int _IO_putc (int __c, _IO_FILE *__fp) __THROW;extern int _IO_feof (_IO_FILE *__fp) __THROW;extern int _IO_ferror (_IO_FILE *__fp) __THROW;extern int _IO_peekc_locked (_IO_FILE *__fp) __THROW;/* This one is for Emacs. */#define _IO_PENDING_OUTPUT_COUNT(_fp)	\	((_fp)->_IO_write_ptr - (_fp)->_IO_write_base)extern void _IO_flockfile (_IO_FILE *) __THROW;extern void _IO_funlockfile (_IO_FILE *) __THROW;extern int _IO_ftrylockfile (_IO_FILE *) __THROW;#ifdef _IO_MTSAFE_IO# define _IO_peekc(_fp) _IO_peekc_locked (_fp)# define _IO_flockfile(_fp) \  if (((_fp)->_flags & _IO_USER_LOCK) == 0) _IO_flockfile (_fp)# define _IO_funlockfile(_fp) \  if (((_fp)->_flags & _IO_USER_LOCK) == 0) _IO_funlockfile (_fp)#else# define _IO_peekc(_fp) _IO_peekc_unlocked (_fp)# define _IO_flockfile(_fp) /**/# define _IO_funlockfile(_fp) /**/# define _IO_ftrylockfile(_fp) /**/# define _IO_cleanup_region_start(_fct, _fp) /**/# define _IO_cleanup_region_end(_Doit) /**/#endif /* !_IO_MTSAFE_IO */extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,			_IO_va_list, int *__restrict) __THROW;extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,			 _IO_va_list) __THROW;extern _IO_ssize_t _IO_padn (_IO_FILE *, int, _IO_ssize_t) __THROW;extern _IO_size_t _IO_sgetn (_IO_FILE *, void *, _IO_size_t) __THROW;extern _IO_off64_t _IO_seekoff (_IO_FILE *, _IO_off64_t, int, int) __THROW;extern _IO_off64_t _IO_seekpos (_IO_FILE *, _IO_off64_t, int) __THROW;extern void _IO_free_backup_area (_IO_FILE *) __THROW;#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_Textern _IO_wint_t _IO_getwc (_IO_FILE *__fp) __THROW;extern _IO_wint_t _IO_putwc (wchar_t __wc, _IO_FILE *__fp) __THROW;extern int _IO_fwide (_IO_FILE *__fp, int __mode) __THROW;# if __GNUC__ >= 2/* While compiling glibc we have to handle compatibility with very old   versions.  */#  if defined _LIBC && defined SHARED#   include <shlib-compat.h>#   if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)#    define _IO_fwide_maybe_incompatible \  (__builtin_expect (&_IO_stdin_used == NULL, 0))extern const int _IO_stdin_used;weak_extern (_IO_stdin_used);#   endif#  endif#  ifndef _IO_fwide_maybe_incompatible#   define _IO_fwide_maybe_incompatible (0)#  endif/* A special optimized version of the function above.  It optimizes the   case of initializing an unoriented byte stream.  */#  define _IO_fwide(__fp, __mode) \  ({ int __result = (__mode);						      \     if (__result < 0 && ! _IO_fwide_maybe_incompatible)		      \       {								      \	 if ((__fp)->_mode == 0)					      \	   /* We know that all we have to do is to set the flag.  */	      \	   (__fp)->_mode = -1;						      \	 __result = (__fp)->_mode;					      \       }								      \     else if (__builtin_constant_p (__mode) && (__mode) == 0)		      \       __result = _IO_fwide_maybe_incompatible ? -1 : (__fp)->_mode;	      \     else								      \       __result = _IO_fwide (__fp, __result);				      \     __result; })# endifextern int _IO_vfwscanf (_IO_FILE * __restrict, const wchar_t * __restrict,			 _IO_va_list, int *__restrict) __THROW;extern int _IO_vfwprintf (_IO_FILE *__restrict, const wchar_t *__restrict,			  _IO_va_list) __THROW;extern _IO_ssize_t _IO_wpadn (_IO_FILE *, wint_t, _IO_ssize_t) __THROW;extern void _IO_free_wbackup_area (_IO_FILE *) __THROW;#endif#ifdef __cplusplus}#endif#endif /* _IO_STDIO_H */

⌨️ 快捷键说明

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