mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 17:53:37 +08:00
3f5e3f5d06
This is a variant of fgets which fails with ERANGE if the buffer is too small, and the buffer length is given as an argument of type size_t. This function will be useful for implementing NSS file reading operations. Compared to a direct implementation using the public API, it avoids an lseek system call in case the line terminator can be found in the internal read buffer.
167 lines
5.4 KiB
Plaintext
167 lines
5.4 KiB
Plaintext
libc {
|
|
GLIBC_2.0 {
|
|
# global variables
|
|
_IO_list_all; _IO_stderr_; _IO_stdin_; _IO_stdout_;
|
|
|
|
# functions used in inline functions or macros
|
|
__getdelim;
|
|
|
|
# functions used in inline functions or macros
|
|
_IO_getc; _IO_peekc_unlocked; _IO_putc; _IO_feof; _IO_ferror;
|
|
__uflow; __underflow; __overflow;
|
|
|
|
# functions used in other libraries
|
|
__vsscanf; __vsnprintf;
|
|
|
|
# libio
|
|
_IO_adjust_column; _IO_clearerr; _IO_default_doallocate;
|
|
_IO_default_finish; _IO_default_pbackfail; _IO_default_uflow;
|
|
_IO_default_xsgetn; _IO_default_xsputn; _IO_do_write;
|
|
_IO_doallocbuf; _IO_fclose; _IO_fdopen; _IO_feof; _IO_ferror;
|
|
_IO_fflush; _IO_fgetc; _IO_fgetpos; _IO_fgets; _IO_file_attach;
|
|
_IO_file_close; _IO_file_close_it; _IO_file_doallocate;
|
|
_IO_file_fopen; _IO_file_init; _IO_file_jumps; _IO_file_open;
|
|
_IO_file_overflow; _IO_file_read; _IO_file_seek; _IO_file_seekoff;
|
|
_IO_file_setbuf; _IO_file_stat; _IO_file_sync; _IO_file_underflow;
|
|
_IO_file_write; _IO_file_xsputn; _IO_fileno; _IO_flockfile;
|
|
_IO_flush_all; _IO_flush_all_linebuffered; _IO_fopen; _IO_fprintf;
|
|
_IO_fputs; _IO_fread; _IO_free_backup_area; _IO_freopen;
|
|
_IO_fscanf; _IO_fseek; _IO_fsetpos; _IO_ftell; _IO_ftrylockfile;
|
|
_IO_funlockfile; _IO_fwrite; _IO_getc; _IO_getline; _IO_gets;
|
|
_IO_init; _IO_init_marker; _IO_link_in; _IO_marker_delta;
|
|
_IO_marker_difference; _IO_padn; _IO_pclose; _IO_peekc_locked;
|
|
_IO_perror; _IO_popen; _IO_printf; _IO_proc_close; _IO_proc_open;
|
|
_IO_putc; _IO_puts; _IO_remove_marker; _IO_rewind; _IO_scanf;
|
|
_IO_seekmark; _IO_seekoff; _IO_seekpos; _IO_setb; _IO_setbuf;
|
|
_IO_setbuffer; _IO_setlinebuf; _IO_setvbuf; _IO_sgetn;
|
|
_IO_sprintf; _IO_sputbackc; _IO_sscanf; _IO_str_init_readonly;
|
|
_IO_str_init_static; _IO_str_overflow; _IO_str_pbackfail;
|
|
_IO_str_seekoff; _IO_str_underflow; _IO_sungetc;
|
|
_IO_switch_to_get_mode; _IO_un_link; _IO_ungetc;
|
|
_IO_unsave_markers; _IO_vfprintf; _IO_vfscanf; _IO_vsprintf;
|
|
|
|
# variables in normal name space
|
|
stderr; stdin; stdout;
|
|
|
|
# c*
|
|
clearerr; clearerr_unlocked;
|
|
|
|
# f*
|
|
fclose; fcloseall; fdopen; feof; feof_locked; feof_unlocked; ferror;
|
|
ferror_locked; ferror_unlocked; fflush; fflush_locked; fflush_unlocked;
|
|
fgetc; fgetpos; fgets; fileno; fileno_locked; fileno_unlocked;
|
|
fopen; fopencookie; fputc; fputc_locked; fputc_unlocked; fputs;
|
|
fread; freopen; fseek; fsetpos; ftell; fwrite;
|
|
|
|
# g*
|
|
getc; getc_locked; getc_unlocked; getchar; getchar_unlocked; getdelim;
|
|
gets;
|
|
|
|
# o*
|
|
open_memstream; obstack_printf; obstack_vprintf;
|
|
|
|
# p*
|
|
pclose; popen; putc; putc_locked; putc_unlocked; putchar;
|
|
putchar_unlocked; puts;
|
|
|
|
# r*
|
|
rewind;
|
|
|
|
# s*
|
|
setbuf; setbuffer; setlinebuf; setvbuf;
|
|
|
|
# u*
|
|
ungetc;
|
|
|
|
# v*
|
|
vasprintf; vdprintf; vscanf; vsnprintf; vsprintf; vsscanf;
|
|
}
|
|
GLIBC_2.1 {
|
|
# global variables
|
|
_IO_2_1_stdin_; _IO_2_1_stdout_; _IO_2_1_stderr_;
|
|
|
|
# functions used in other libraries
|
|
_IO_fclose; _IO_fopen; _IO_fdopen; _IO_popen; __asprintf;
|
|
|
|
# functions used in libstdc++
|
|
_IO_do_write; _IO_file_attach; _IO_file_close_it; _IO_file_finish;
|
|
_IO_file_fopen; _IO_file_init; _IO_file_overflow; _IO_file_seekoff;
|
|
_IO_file_setbuf; _IO_file_sync; _IO_file_underflow;
|
|
_IO_file_write; _IO_file_xsputn; _IO_proc_open; _IO_proc_close;
|
|
|
|
# Changed getline function in libio.
|
|
_IO_getline_info;
|
|
|
|
# f*
|
|
fgetpos64; fopen64; freopen64; fseeko; fseeko64; fsetpos64; ftello;
|
|
ftello64; fopen; fclose; fdopen; fread_unlocked; fwrite_unlocked;
|
|
fgets_unlocked; fputs_unlocked; fgetc_unlocked;
|
|
|
|
# p*
|
|
pclose; popen;
|
|
}
|
|
GLIBC_2.2 {
|
|
# functions used in libstdc++
|
|
_IO_fgetpos; _IO_fgetpos64; _IO_fsetpos; _IO_fsetpos64;
|
|
_IO_wdo_write; _IO_wfile_jumps; _IO_wfile_overflow; _IO_wfile_seekoff;
|
|
_IO_wfile_setbuf; _IO_wfile_sync; _IO_wfile_underflow; _IO_wfile_xsputn;
|
|
_IO_adjust_wcolumn; _IO_free_wbackup_area; _IO_init_wmarker;
|
|
_IO_least_wmarker; _IO_seekwmark; _IO_sputbackwc; _IO_sungetwc;
|
|
_IO_switch_to_main_wget_area; _IO_switch_to_wbackup_area;
|
|
_IO_switch_to_wget_mode; _IO_unsave_wmarkers; _IO_wdefault_doallocate;
|
|
_IO_wdefault_finish; _IO_wdefault_pbackfail; _IO_wdefault_setbuf;
|
|
_IO_wdefault_uflow; _IO_wdefault_xsgetn; _IO_wdefault_xsputn;
|
|
_IO_wdoallocbuf; _IO_wmarker_delta; _IO_wsetb; __woverflow; __wuflow;
|
|
__wunderflow;
|
|
|
|
# LinuxThreads uses this protected interface
|
|
_IO_iter_begin; _IO_iter_end; _IO_iter_next; _IO_iter_file;
|
|
_IO_list_lock; _IO_list_unlock; _IO_list_resetlock;
|
|
|
|
# Functions to access FILE internals.
|
|
__fbufsize; __freading; __fwriting; __freadable; __fwritable; __flbf;
|
|
__fpurge; __fpending; __fsetlocking; _flushlbf;
|
|
|
|
# f*
|
|
fgetpos; fgetpos64; fgetwc; fgetwc_unlocked; fgetws; fgetws_unlocked;
|
|
fputwc; fputwc_unlocked; fputws; fputws_unlocked; fsetpos; fsetpos64;
|
|
fwide; fwprintf; fwscanf; fopencookie; fmemopen;
|
|
|
|
# g*
|
|
getwc; getwc_unlocked; getwchar; getwchar_unlocked;
|
|
|
|
# p*
|
|
putwc; putwc_unlocked; putwchar; putwchar_unlocked;
|
|
|
|
# s*
|
|
swprintf; swscanf;
|
|
|
|
# u*
|
|
ungetwc;
|
|
|
|
# v*
|
|
vfwprintf; vswprintf; vwprintf; vfwscanf; vswscanf; vwscanf;
|
|
|
|
# w*
|
|
wprintf; wscanf;
|
|
}
|
|
GLIBC_2.4 {
|
|
open_wmemstream;
|
|
}
|
|
GLIBC_2.22 {
|
|
# f*
|
|
fmemopen;
|
|
}
|
|
GLIBC_PRIVATE {
|
|
# Used by NPTL and librt
|
|
__libc_fatal;
|
|
|
|
# Used by NPTL
|
|
_IO_enable_locks;
|
|
|
|
__fseeko64;
|
|
__ftello64;
|
|
__libc_readline_unlocked;
|
|
}
|
|
}
|