mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 10:50:07 +00:00
Update.
* libio/libioP.h: Remove duplicate declaration of _IO_wsetb. 1999-11-26 Andreas Jaeger <aj@suse.de>
This commit is contained in:
parent
c62603bfb1
commit
6e06ae595e
@ -1,3 +1,7 @@
|
||||
1999-11-26 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* libio/libioP.h: Remove duplicate declaration of _IO_wsetb.
|
||||
|
||||
1999-11-26 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* inet/rcmd.c: Include stdlib for declaration of free.
|
||||
|
@ -78,6 +78,7 @@ extern "C" {
|
||||
#else
|
||||
# define _IO_JUMPS_FUNC(THIS) _IO_JUMPS(THIS)
|
||||
#endif
|
||||
#define _IO_WIDE_JUMPS_FUNC(THIS) _IO_WIDE_JUMPS(THIS)
|
||||
#ifdef _G_USING_THUNKS
|
||||
# define JUMP_FIELD(TYPE, NAME) TYPE NAME
|
||||
# define JUMP0(FUNC, THIS) _IO_JUMPS_FUNC(THIS)->FUNC (THIS)
|
||||
@ -86,6 +87,11 @@ extern "C" {
|
||||
# define JUMP3(FUNC, THIS, X1,X2,X3) _IO_JUMPS_FUNC(THIS)->FUNC (THIS, X1,X2, X3)
|
||||
# define JUMP_INIT(NAME, VALUE) VALUE
|
||||
# define JUMP_INIT_DUMMY JUMP_INIT(dummy, 0), JUMP_INIT (dummy2, 0)
|
||||
|
||||
# define WJUMP0(FUNC, THIS) _IO_WIDE_JUMPS_FUNC(THIS)->FUNC (THIS)
|
||||
# define WJUMP1(FUNC, THIS, X1) _IO_WIDE_JUMPS_FUNC(THIS)->FUNC (THIS, X1)
|
||||
# define WJUMP2(FUNC, THIS, X1, X2) _IO_WIDE_JUMPS_FUNC(THIS)->FUNC (THIS, X1, X2)
|
||||
# define WJUMP3(FUNC, THIS, X1,X2,X3) _IO_WIDE_JUMPS_FUNC(THIS)->FUNC (THIS, X1,X2, X3)
|
||||
#else
|
||||
/* These macros will change when we re-implement vtables to use "thunks"! */
|
||||
# define JUMP_FIELD(TYPE, NAME) struct { short delta1, delta2; TYPE pfn; } NAME
|
||||
@ -95,6 +101,11 @@ extern "C" {
|
||||
# define JUMP3(FUNC, THIS, X1,X2,X3) _IO_JUMPS_FUNC(THIS)->FUNC.pfn (THIS, X1,X2,X3)
|
||||
# define JUMP_INIT(NAME, VALUE) {0, 0, VALUE}
|
||||
# define JUMP_INIT_DUMMY JUMP_INIT(dummy, 0)
|
||||
|
||||
# define WJUMP0(FUNC, THIS) _IO_WIDE_JUMPS_FUNC(THIS)->FUNC.pfn (THIS)
|
||||
# define WJUMP1(FUNC, THIS, X1) _IO_WIDE_JUMPS_FUNC(THIS)->FUNC.pfn (THIS, X1)
|
||||
# define WJUMP2(FUNC, THIS, X1, X2) _IO_WIDE_JUMPS_FUNC(THIS)->FUNC.pfn (THIS, X1, X2)
|
||||
# define WJUMP3(FUNC, THIS, X1,X2,X3) _IO_WIDE_JUMPS_FUNC(THIS)->FUNC.pfn (THIS, X1,X2,X3)
|
||||
#endif
|
||||
|
||||
/* The 'finish' function does any final cleaning up of an _IO_FILE object.
|
||||
@ -102,12 +113,14 @@ extern "C" {
|
||||
It matches the streambuf::~streambuf virtual destructor. */
|
||||
typedef void (*_IO_finish_t) __PMT ((_IO_FILE *, int)); /* finalize */
|
||||
#define _IO_FINISH(FP) JUMP1 (__finish, FP, 0)
|
||||
#define _IO_WFINISH(FP) WJUMP1 (__finish, FP, 0)
|
||||
|
||||
/* The 'overflow' hook flushes the buffer.
|
||||
The second argument is a character, or EOF.
|
||||
It matches the streambuf::overflow virtual function. */
|
||||
typedef int (*_IO_overflow_t) __PMT ((_IO_FILE *, int));
|
||||
#define _IO_OVERFLOW(FP, CH) JUMP1 (__overflow, FP, CH)
|
||||
#define _IO_WOVERFLOW(FP, CH) WJUMP1 (__overflow, FP, CH)
|
||||
|
||||
/* The 'underflow' hook tries to fills the get buffer.
|
||||
It returns the next character (as an unsigned char) or EOF. The next
|
||||
@ -115,6 +128,7 @@ typedef int (*_IO_overflow_t) __PMT ((_IO_FILE *, int));
|
||||
It matches the streambuf::underflow virtual function. */
|
||||
typedef int (*_IO_underflow_t) __PMT ((_IO_FILE *));
|
||||
#define _IO_UNDERFLOW(FP) JUMP0 (__underflow, FP)
|
||||
#define _IO_WUNDERFLOW(FP) WJUMP0 (__underflow, FP)
|
||||
|
||||
/* The 'uflow' hook returns the next character in the input stream
|
||||
(cast to unsigned char), and increments the read position;
|
||||
@ -122,11 +136,13 @@ typedef int (*_IO_underflow_t) __PMT ((_IO_FILE *));
|
||||
It matches the streambuf::uflow virtual function, which is not in the
|
||||
cfront implementation, but was added to C++ by the ANSI/ISO committee. */
|
||||
#define _IO_UFLOW(FP) JUMP0 (__uflow, FP)
|
||||
#define _IO_WUFLOW(FP) WJUMP0 (__uflow, FP)
|
||||
|
||||
/* The 'pbackfail' hook handles backing up.
|
||||
It matches the streambuf::pbackfail virtual function. */
|
||||
typedef int (*_IO_pbackfail_t) __PMT ((_IO_FILE *, int));
|
||||
#define _IO_PBACKFAIL(FP, CH) JUMP1 (__pbackfail, FP, CH)
|
||||
#define _IO_WPBACKFAIL(FP, CH) WJUMP1 (__pbackfail, FP, CH)
|
||||
|
||||
/* The 'xsputn' hook writes upto N characters from buffer DATA.
|
||||
Returns the number of character actually written.
|
||||
@ -134,6 +150,7 @@ typedef int (*_IO_pbackfail_t) __PMT ((_IO_FILE *, int));
|
||||
typedef _IO_size_t (*_IO_xsputn_t) __PMT ((_IO_FILE *FP, const void *DATA,
|
||||
_IO_size_t N));
|
||||
#define _IO_XSPUTN(FP, DATA, N) JUMP2 (__xsputn, FP, DATA, N)
|
||||
#define _IO_WXSPUTN(FP, DATA, N) WJUMP2 (__xsputn, FP, DATA, N)
|
||||
|
||||
/* The 'xsgetn' hook reads upto N characters into buffer DATA.
|
||||
Returns the number of character actually read.
|
||||
@ -141,6 +158,7 @@ typedef _IO_size_t (*_IO_xsputn_t) __PMT ((_IO_FILE *FP, const void *DATA,
|
||||
typedef _IO_size_t (*_IO_xsgetn_t) __PMT ((_IO_FILE *FP, void *DATA,
|
||||
_IO_size_t N));
|
||||
#define _IO_XSGETN(FP, DATA, N) JUMP2 (__xsgetn, FP, DATA, N)
|
||||
#define _IO_WXSGETN(FP, DATA, N) WJUMP2 (__xsgetn, FP, DATA, N)
|
||||
|
||||
/* The 'seekoff' hook moves the stream position to a new position
|
||||
relative to the start of the file (if DIR==0), the current position
|
||||
@ -150,6 +168,7 @@ typedef _IO_size_t (*_IO_xsgetn_t) __PMT ((_IO_FILE *FP, void *DATA,
|
||||
typedef _IO_off64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
|
||||
int DIR, int MODE));
|
||||
#define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE)
|
||||
#define _IO_WSEEKOFF(FP, OFF, DIR, MODE) WJUMP3 (__seekoff, FP, OFF, DIR, MODE)
|
||||
|
||||
/* The 'seekpos' hook also moves the stream position,
|
||||
but to an absolute position given by a fpos64_t (seekpos).
|
||||
@ -158,23 +177,27 @@ typedef _IO_off64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
|
||||
/* The _IO_seek_cur and _IO_seek_end options are not allowed. */
|
||||
typedef _IO_off64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
|
||||
#define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS)
|
||||
#define _IO_WSEEKPOS(FP, POS, FLAGS) WJUMP2 (__seekpos, FP, POS, FLAGS)
|
||||
|
||||
/* The 'setbuf' hook gives a buffer to the file.
|
||||
It matches the streambuf::setbuf virtual function. */
|
||||
typedef _IO_FILE* (*_IO_setbuf_t) __PMT ((_IO_FILE *, char *, _IO_ssize_t));
|
||||
#define _IO_SETBUF(FP, BUFFER, LENGTH) JUMP2 (__setbuf, FP, BUFFER, LENGTH)
|
||||
#define _IO_WSETBUF(FP, BUFFER, LENGTH) WJUMP2 (__setbuf, FP, BUFFER, LENGTH)
|
||||
|
||||
/* The 'sync' hook attempts to synchronize the internal data structures
|
||||
of the file with the external state.
|
||||
It matches the streambuf::sync virtual function. */
|
||||
typedef int (*_IO_sync_t) __PMT ((_IO_FILE *));
|
||||
#define _IO_SYNC(FP) JUMP0 (__sync, FP)
|
||||
#define _IO_WSYNC(FP) WJUMP0 (__sync, FP)
|
||||
|
||||
/* The 'doallocate' hook is used to tell the file to allocate a buffer.
|
||||
It matches the streambuf::doallocate virtual function, which is not
|
||||
in the ANSI/ISO C++ standard, but is part traditional implementations. */
|
||||
typedef int (*_IO_doallocate_t) __PMT ((_IO_FILE *));
|
||||
#define _IO_DOALLOCATE(FP) JUMP0 (__doallocate, FP)
|
||||
#define _IO_WDOALLOCATE(FP) WJUMP0 (__doallocate, FP)
|
||||
|
||||
/* The following four hooks (sysread, syswrite, sysclose, sysseek, and
|
||||
sysstat) are low-level hooks specific to this implementation.
|
||||
@ -193,6 +216,7 @@ typedef int (*_IO_doallocate_t) __PMT ((_IO_FILE *));
|
||||
specific to this implementation. */
|
||||
typedef _IO_ssize_t (*_IO_read_t) __PMT ((_IO_FILE *, void *, _IO_ssize_t));
|
||||
#define _IO_SYSREAD(FP, DATA, LEN) JUMP2 (__read, FP, DATA, LEN)
|
||||
#define _IO_WSYSREAD(FP, DATA, LEN) WJUMP2 (__read, FP, DATA, LEN)
|
||||
|
||||
/* The 'syswrite' hook is used to write data from an existing buffer
|
||||
to an external file. It generalizes the Unix write(2) function.
|
||||
@ -201,6 +225,7 @@ typedef _IO_ssize_t (*_IO_read_t) __PMT ((_IO_FILE *, void *, _IO_ssize_t));
|
||||
typedef _IO_ssize_t (*_IO_write_t) __PMT ((_IO_FILE *, const void *,
|
||||
_IO_ssize_t));
|
||||
#define _IO_SYSWRITE(FP, DATA, LEN) JUMP2 (__write, FP, DATA, LEN)
|
||||
#define _IO_WSYSWRITE(FP, DATA, LEN) WJUMP2 (__write, FP, DATA, LEN)
|
||||
|
||||
/* The 'sysseek' hook is used to re-position an external file.
|
||||
It generalizes the Unix lseek(2) function.
|
||||
@ -208,6 +233,7 @@ typedef _IO_ssize_t (*_IO_write_t) __PMT ((_IO_FILE *, const void *,
|
||||
specific to this implementation. */
|
||||
typedef _IO_off64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
|
||||
#define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE)
|
||||
#define _IO_WSYSSEEK(FP, OFFSET, MODE) WJUMP2 (__seek, FP, OFFSET, MODE)
|
||||
|
||||
/* The 'sysclose' hook is used to finalize (close, finish up) an
|
||||
external file. It generalizes the Unix close(2) function.
|
||||
@ -215,6 +241,7 @@ typedef _IO_off64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
|
||||
specific to this implementation. */
|
||||
typedef int (*_IO_close_t) __PMT ((_IO_FILE *)); /* finalize */
|
||||
#define _IO_SYSCLOSE(FP) JUMP0 (__close, FP)
|
||||
#define _IO_WSYSCLOSE(FP) WJUMP0 (__close, FP)
|
||||
|
||||
/* The 'sysstat' hook is used to get information about an external file
|
||||
into a struct stat buffer. It generalizes the Unix fstat(2) call.
|
||||
@ -222,17 +249,20 @@ typedef int (*_IO_close_t) __PMT ((_IO_FILE *)); /* finalize */
|
||||
specific to this implementation. */
|
||||
typedef int (*_IO_stat_t) __PMT ((_IO_FILE *, void *));
|
||||
#define _IO_SYSSTAT(FP, BUF) JUMP1 (__stat, FP, BUF)
|
||||
#define _IO_WSYSSTAT(FP, BUF) WJUMP1 (__stat, FP, BUF)
|
||||
|
||||
/* The 'showmany' hook can be used to get an image how much input is
|
||||
available. In many cases the answer will be 0 which means unknown
|
||||
but some cases one can provide real information. */
|
||||
typedef int (*_IO_showmanyc_t) __PMT ((_IO_FILE *));
|
||||
#define _IO_SHOWMANYC(FP) JUMP0 (__showmanyc, FP)
|
||||
#define _IO_WSHOWMANYC(FP) WJUMP0 (__showmanyc, FP)
|
||||
|
||||
/* The 'imbue' hook is used to get information about the currently
|
||||
installed locales. */
|
||||
typedef void (*_IO_imbue_t) __PMT ((_IO_FILE *, void *));
|
||||
#define _IO_IMBUE(FP, LOCALE) JUMP1 (__imbue, FP, LOCALE)
|
||||
#define _IO_WIMBUE(FP, LOCALE) WJUMP1 (__imbue, FP, LOCALE)
|
||||
|
||||
|
||||
#define _IO_CHAR_TYPE char /* unsigned char ? */
|
||||
@ -305,7 +335,6 @@ extern wint_t _IO_sputbackwc __P ((_IO_FILE *, wint_t));
|
||||
extern wint_t _IO_sungetwc __P ((_IO_FILE *));
|
||||
extern void _IO_wdoallocbuf __P ((_IO_FILE *));
|
||||
extern void _IO_unsave_wmarkers __P ((_IO_FILE *));
|
||||
extern void _IO_wsetb __P ((_IO_FILE *, wchar_t *, wchar_t *, int));
|
||||
extern unsigned _IO_adjust_wcolumn __P ((unsigned, const wchar_t *, int));
|
||||
|
||||
/* Marker-related function. */
|
||||
|
Loading…
Reference in New Issue
Block a user