1ea89a402d
1997-10-13 03:14 Ulrich Drepper <drepper@cygnus.com> * libc.map: Move _IO_fopen, fopen, _IO_stdin_, _IO_stdout_, _IO_stderr_, _IO_list_all, and freopen to GLIBC_2.1 version. * include/libc-symbol.h: Define define_symbol. * libio/Makefile [$(versioning)=yes] (routines): Add oldiofopen and oldfreopen. [$(versioning)=yes] (aux): Add oldfileops and oldstdfiles. * libio/fileops.c: Use _IO_FILE_complete when accessing _offset field. * libio/freopen.c: Use versioning. * libio/iofopen.c: Likewise. Generate object of type _IO_FILE_complete. * libio/iofopen64.c: Generate object of type _IO_FILE_complete. * libio/iolibio.h: Declare _IO_{old,new}_fopen and __{old,new}_freopen. Define _IO_old_freopen. * libio/libio.h: Remove _offset field from _IO_FILE. Rename _unused2 field to _old_offset. Declare _IO_std*_ streams as of type _IO_FILE_complete. * libio/libioP.h: Define _IO_FILE_complete. Declare callbacks for old fileops implementation. * libio/stdfile.c: Define standard stream of type _IO_FILE_complete. * libio/stdio.c: Correctly address FILE part of standard streams. * libio/oldfileops.c: New file. * libio/oldfreopen.c: New file. * libio/oldiofopen.c: New file. * libio/oldstdfiles.c: New file. * sysdeps/i386/fpu/bits/mathinline.h: Define fma optimization. * sysdeps/libm-i387/e_scalb.S: Make sure code gets into .text section. * sysdeps/libm-i387/e_scalbl.S: Likewise. * sysdeps/libm-i387/s_fma.S: Fix typo. * sysdeps/libm-i387/s_fmaf.S: Likewise. * sysdeps/libm-i387/s_fmal.S: Likewise. 1997-10-12 20:14 Zack Weinberg <zack@rabi.phys.columbia.edu> * sysdeps/stub/getsid.c: Add a stub_warning. * sysdeps/stub/mmap.c: Likewise. * sysdeps/stub/munmap.c: Likewise. * sysdeps/libm-ieee754/s_fma.c: New file. * sysdeps/libm-ieee754/s_fmaf.c: New file. * sysdeps/libm-ieee754/s_fmal.c: New file. * sysdeps/libm-ieee754/s_llrintf.c: New file. * sysdeps/libm-ieee754/s_llrintl.c: New file. * sysdeps/libm-ieee754/s_lrintf.c: New file. * sysdeps/libm-ieee754/s_lrintl.c: New file.
71 lines
3.1 KiB
C
71 lines
3.1 KiB
C
#include "libio.h"
|
|
|
|
/* These emulate stdio functionality, but with a different name
|
|
(_IO_ungetc instead of ungetc), and using _IO_FILE instead of FILE. */
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
extern int _IO_fclose __P((_IO_FILE*));
|
|
extern _IO_FILE *_IO_fdopen __P((int, const char*));
|
|
extern int _IO_fflush __P((_IO_FILE*));
|
|
extern int _IO_fgetpos __P((_IO_FILE*, _IO_fpos_t*));
|
|
extern int _IO_fgetpos64 __P((_IO_FILE*, _IO_fpos64_t*));
|
|
extern char* _IO_fgets __P((char*, int, _IO_FILE*));
|
|
extern _IO_FILE *_IO_fopen __P((const char*, const char*));
|
|
extern _IO_FILE *_IO_old_fopen __P((const char*, const char*));
|
|
extern _IO_FILE *_IO_new_fopen __P((const char*, const char*));
|
|
extern _IO_FILE *_IO_fopen64 __P((const char*, const char*));
|
|
extern int _IO_fprintf __P((_IO_FILE*, const char*, ...));
|
|
extern int _IO_fputs __P((const char*, _IO_FILE*));
|
|
extern int _IO_fsetpos __P((_IO_FILE*, const _IO_fpos_t *));
|
|
extern int _IO_fsetpos64 __P((_IO_FILE*, const _IO_fpos64_t *));
|
|
extern long int _IO_ftell __P((_IO_FILE*));
|
|
extern _IO_size_t _IO_fread __P((void*, _IO_size_t, _IO_size_t, _IO_FILE*));
|
|
extern _IO_size_t _IO_fwrite __P((const void*,
|
|
_IO_size_t, _IO_size_t, _IO_FILE*));
|
|
extern char* _IO_gets __P((char*));
|
|
extern void _IO_perror __P((const char*));
|
|
extern int _IO_printf __P((const char*, ...));
|
|
extern int _IO_puts __P((const char*));
|
|
extern int _IO_scanf __P((const char*, ...));
|
|
extern void _IO_setbuffer __P((_IO_FILE *, char*, _IO_size_t));
|
|
extern int _IO_setvbuf __P((_IO_FILE*, char*, int, _IO_size_t));
|
|
extern int _IO_sscanf __P((const char*, const char*, ...));
|
|
extern int _IO_sprintf __P((char *, const char*, ...));
|
|
extern int _IO_ungetc __P((int, _IO_FILE*));
|
|
extern int _IO_vsscanf __P((const char *, const char *, _IO_va_list));
|
|
extern int _IO_vsprintf __P((char*, const char*, _IO_va_list));
|
|
|
|
struct obstack;
|
|
extern int _IO_obstack_vprintf __P ((struct obstack *, const char *,
|
|
_IO_va_list));
|
|
extern int _IO_obstack_printf __P ((struct obstack *, const char *, ...));
|
|
#ifndef _IO_pos_BAD
|
|
#define _IO_pos_BAD ((_IO_fpos_t)(-1))
|
|
#endif
|
|
#define _IO_clearerr(FP) ((FP)->_flags &= ~(_IO_ERR_SEEN|_IO_EOF_SEEN))
|
|
#define _IO_fseek(__fp, __offset, __whence) \
|
|
(_IO_seekoff(__fp, __offset, __whence, _IOS_INPUT|_IOS_OUTPUT) == _IO_pos_BAD ? EOF : 0)
|
|
#define _IO_rewind(FILE) (void)_IO_seekoff(FILE, 0, 0, _IOS_INPUT|_IOS_OUTPUT)
|
|
#define _IO_vprintf(FORMAT, ARGS) _IO_vfprintf(_IO_stdout, FORMAT, ARGS)
|
|
#define _IO_freopen(FILENAME, MODE, FP) \
|
|
(_IO_file_close_it(FP), _IO_file_fopen(FP, FILENAME, MODE, 0))
|
|
#define _IO_old_freopen(FILENAME, MODE, FP) \
|
|
(_IO_file_close_it(FP), _IO_old_file_fopen(FP, FILENAME, MODE))
|
|
#define _IO_freopen64(FILENAME, MODE, FP) \
|
|
(_IO_file_close_it(FP), _IO_file_fopen(FP, FILENAME, MODE, 1))
|
|
#define _IO_fileno(FP) ((FP)->_fileno)
|
|
extern _IO_FILE* _IO_popen __P((const char*, const char*));
|
|
#define _IO_pclose _IO_fclose
|
|
#define _IO_setbuf(_FP, _BUF) _IO_setbuffer(_FP, _BUF, _IO_BUFSIZ)
|
|
#define _IO_setlinebuf(_FP) _IO_setvbuf(_FP, NULL, 1, 0)
|
|
|
|
_IO_FILE *__new_freopen __P ((const char *, const char *, _IO_FILE *));
|
|
_IO_FILE *__old_freopen __P ((const char *, const char *, _IO_FILE *));
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|