mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-27 03:33:33 +08:00
Update.
1998-03-04 16:12 H.J. Lu <hjl@gnu.org> * libio/strops.c (_IO_str_seekoff): Handle MODE == 0. 1998-03-04 16:19 Ulrich Drepper <drepper@cygnus.com> * nscd/nscd_getgr_r.c: Follow nscd_getpw_r.c change. 1998-03-04 Andreas Jaeger <aj@arthur.rhein-neckar.de> * nscd/nscd_getpw_r.c (nscd_open_socket): Safe and reset errno so that a failure to connect to nscd doesn't change errno. 1998-03-04 Andreas Jaeger <aj@arthur.rhein-neckar.de> * manual/maint.texi (Reporting Bugs): Change bug-glibc@prep.ai.mit.edu to bug-glibc@gnu.org. * locale/iso-4217.def: Likewise 1998-03-04 12:43 Ulrich Drepper <drepper@cygnus.com> * manual/texinfo.tex: Updated. 1998-03-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/posix/fpathconf.c: Don't modify errno for an undefined value. * sysdeps/posix/pathconf.c: Likewise. * posix/getconf.c: Print `undefined' if pathconf returns -1 without setting errno. 1998-03-04 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Fix cut&paste problem. * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: New file. Patches by Elliot Lee <sopwith@cuc.edu>.
This commit is contained in:
parent
ea7eb7e3eb
commit
2eb45444a7
39
ChangeLog
39
ChangeLog
@ -1,3 +1,42 @@
|
||||
1998-03-04 16:12 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* libio/strops.c (_IO_str_seekoff): Handle MODE == 0.
|
||||
|
||||
1998-03-04 16:19 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* nscd/nscd_getgr_r.c: Follow nscd_getpw_r.c change.
|
||||
|
||||
1998-03-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||||
|
||||
* nscd/nscd_getpw_r.c (nscd_open_socket): Safe and reset errno so
|
||||
that a failure to connect to nscd doesn't change errno.
|
||||
|
||||
1998-03-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||||
|
||||
* manual/maint.texi (Reporting Bugs): Change
|
||||
bug-glibc@prep.ai.mit.edu to bug-glibc@gnu.org.
|
||||
|
||||
* locale/iso-4217.def: Likewise
|
||||
|
||||
1998-03-04 12:43 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* manual/texinfo.tex: Updated.
|
||||
|
||||
1998-03-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* sysdeps/posix/fpathconf.c: Don't modify errno for an undefined
|
||||
value.
|
||||
* sysdeps/posix/pathconf.c: Likewise.
|
||||
* posix/getconf.c: Print `undefined' if pathconf returns -1
|
||||
without setting errno.
|
||||
|
||||
1998-03-04 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Fix cut&paste
|
||||
problem.
|
||||
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: New file.
|
||||
Patches by Elliot Lee <sopwith@cuc.edu>.
|
||||
|
||||
1998-03-04 09:43 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* elf/link.h (struct link_map): Add new field l_reloc_result.
|
||||
|
8
FAQ.in
8
FAQ.in
@ -50,8 +50,8 @@ you are really interested in porting it, contact
|
||||
GNU CC are used to increase portability and speed.
|
||||
|
||||
GNU CC is found, like all other GNU packages, on
|
||||
ftp://prep.ai.mit.edu/pub/gnu
|
||||
and the many mirror sites. prep is always overloaded, so try to find
|
||||
ftp://ftp.gnu.org/pub/gnu
|
||||
and the many mirror sites. ftp.gnu.org is always overloaded, so try to find
|
||||
a local mirror first.
|
||||
|
||||
You always should try to use the latest official release. Older
|
||||
@ -114,7 +114,7 @@ in configparms. Later versions of egcs may fix these problems.
|
||||
|
||||
* GNU gettext. This package contains the tools needed to construct
|
||||
`message catalog' files containing translated versions of system
|
||||
messages. See ftp://prep.ai.mit.edu/pub/gnu or better any mirror
|
||||
messages. See ftp://ftp.gnu.org/pub/gnu or better any mirror
|
||||
site. (We distribute compiled message catalogs, but they may not be
|
||||
updated in patches.)
|
||||
|
||||
@ -882,7 +882,7 @@ only using the headers and library functions defined in the standard.
|
||||
or higher is required for this script'. What can I do?
|
||||
|
||||
{UD} You have to get the specified autoconf version (or a later one)
|
||||
from your favorite mirror of prep.ai.mit.edu.
|
||||
from your favorite mirror of ftp.gnu.org.
|
||||
|
||||
?? When I try to compile code which uses IPv6 headers and
|
||||
definitions on my Linux 2.x.y system I am in trouble.
|
||||
|
6
NEWS
6
NEWS
@ -1,11 +1,11 @@
|
||||
GNU C Library NEWS -- history of user-visible changes. 1998-02-09
|
||||
GNU C Library NEWS -- history of user-visible changes. 1998-03-04
|
||||
|
||||
Copyright (C) 1992, 93, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
|
||||
See the end for copying conditions.
|
||||
|
||||
Please send GNU C library bug reports using the `glibcbug' script to
|
||||
<bugs@gnu.org>. Questions and suggestions should be send to
|
||||
<bug-glibc@prep.ai.mit.edu>.
|
||||
<bug-glibc@gnu.org>.
|
||||
|
||||
Version 2.1
|
||||
|
||||
@ -52,6 +52,8 @@ Version 2.1
|
||||
* Optimized string functions have been added.
|
||||
|
||||
* The localedata addon is now part of glibc.
|
||||
|
||||
* An implementation of profiling shared libraries was added by Ulrich Drepper.
|
||||
|
||||
Version 2.0.5
|
||||
|
||||
|
8
PROJECTS
8
PROJECTS
@ -1,9 +1,9 @@
|
||||
Open jobs for finishing GNU libc:
|
||||
---------------------------------
|
||||
Status: January 1998
|
||||
Status: March 1998
|
||||
|
||||
If you have time and talent to take over any of the jobs below please
|
||||
contact <bug-glibc@prep.ai.mit.edu>
|
||||
contact <bug-glibc@gnu.org>.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@ -33,8 +33,8 @@ contact <bug-glibc@prep.ai.mit.edu>
|
||||
users can immediately benefit from this.
|
||||
|
||||
Take a look at the matrix in
|
||||
ftp://prep.ai.mit.edu/pub/gnu/ABOUT-NLS
|
||||
for the current status (of course better use a mirror of prep).
|
||||
ftp://ftp.gnu.org/pub/gnu/ABOUT-NLS
|
||||
for the current status (of course better use a mirror of ftp.gnu.org).
|
||||
|
||||
|
||||
[ 6] Write `long double' versions of the math functions. This should be
|
||||
|
@ -120,7 +120,7 @@ these directories. If a new version of an add-on is available it is normally
|
||||
required for the corresponding snapshot so always pay attention for these.
|
||||
|
||||
Note that we provide GNU gzip compressed files only. You can ftp gzip
|
||||
from prep.ai.mit.edu in directory pub/gnu.
|
||||
from ftp.gnu.org in directory pub/gnu.
|
||||
|
||||
In some cases the dates for diffs and snapshots do not match like in the
|
||||
example above. The full release is for 970921 but the patch is for
|
||||
@ -167,7 +167,7 @@ developers. No questions about installation problems or other simple topics
|
||||
are wanted nor will they be answered.
|
||||
|
||||
Do *not* send any questions about the snapshots or patches specific to the
|
||||
snapshots to bug-glibc@prep.ai.mit.edu. Nobody there will have any idea what
|
||||
snapshots to bug-glibc@gnu.org. Nobody there will have any idea what
|
||||
you are talking about and it will just cause confusion.
|
||||
|
||||
|
||||
|
@ -57,7 +57,7 @@ can get the crypt distribution via anonymous FTP from ftp.ifi.uio.no
|
||||
[129.240.64.21], or another archive site outside the USA. Archive
|
||||
maintainers are encouraged to copy this distribution to their archives
|
||||
outside the USA. Please get it from ftp.ifi.uio.no; transferring this
|
||||
distribution from prep.ai.mit.edu (or any other site in the USA) to a
|
||||
distribution from ftp.gnu.org (or any other site in the USA) to a
|
||||
site outside the USA is in violation of US export laws.
|
||||
|
||||
Beside the separate crypt tar file there are some more add-ons which can be
|
||||
|
@ -212,51 +212,65 @@ _IO_str_seekoff (fp, offset, dir, mode)
|
||||
int dir;
|
||||
int mode;
|
||||
{
|
||||
_IO_ssize_t cur_size = _IO_str_count (fp);
|
||||
_IO_fpos64_t new_pos = EOF;
|
||||
_IO_fpos64_t new_pos;
|
||||
|
||||
if (mode == 0 && (fp->_flags & _IO_TIED_PUT_GET))
|
||||
mode = (fp->_flags & _IO_CURRENTLY_PUTTING ? _IOS_OUTPUT : _IOS_INPUT);
|
||||
|
||||
/* Move the get pointer, if requested. */
|
||||
if (mode & _IOS_INPUT)
|
||||
if (mode == 0)
|
||||
{
|
||||
switch (dir)
|
||||
{
|
||||
case _IO_seek_end:
|
||||
offset += cur_size;
|
||||
break;
|
||||
case _IO_seek_cur:
|
||||
offset += fp->_IO_read_ptr - fp->_IO_read_base;
|
||||
break;
|
||||
default: /* case _IO_seek_set: */
|
||||
break;
|
||||
}
|
||||
if (offset < 0 || (_IO_ssize_t) offset > cur_size)
|
||||
return EOF;
|
||||
fp->_IO_read_ptr = fp->_IO_read_base + offset;
|
||||
fp->_IO_read_end = fp->_IO_read_base + cur_size;
|
||||
new_pos = offset;
|
||||
/* Don't move any pointers. But there is no clear indication what
|
||||
mode FP is in. Let's guess. */
|
||||
if (fp->_IO_file_flags & _IO_NO_WRITES)
|
||||
new_pos = fp->_IO_read_ptr - fp->_IO_read_base;
|
||||
else
|
||||
new_pos = fp->_IO_write_ptr - fp->_IO_write_base;
|
||||
}
|
||||
|
||||
/* Move the put pointer, if requested. */
|
||||
if (mode & _IOS_OUTPUT)
|
||||
else
|
||||
{
|
||||
switch (dir)
|
||||
_IO_ssize_t cur_size = _IO_str_count(fp);
|
||||
new_pos = EOF;
|
||||
|
||||
/* Move the get pointer, if requested. */
|
||||
if (mode & _IOS_INPUT)
|
||||
{
|
||||
case _IO_seek_end:
|
||||
offset += cur_size;
|
||||
break;
|
||||
case _IO_seek_cur:
|
||||
offset += fp->_IO_write_ptr - fp->_IO_write_base;
|
||||
break;
|
||||
default: /* case _IO_seek_set: */
|
||||
break;
|
||||
switch (dir)
|
||||
{
|
||||
case _IO_seek_end:
|
||||
offset += cur_size;
|
||||
break;
|
||||
case _IO_seek_cur:
|
||||
offset += fp->_IO_read_ptr - fp->_IO_read_base;
|
||||
break;
|
||||
default: /* case _IO_seek_set: */
|
||||
break;
|
||||
}
|
||||
if (offset < 0 || (_IO_ssize_t) offset > cur_size)
|
||||
return EOF;
|
||||
fp->_IO_read_ptr = fp->_IO_read_base + offset;
|
||||
fp->_IO_read_end = fp->_IO_read_base + cur_size;
|
||||
new_pos = offset;
|
||||
}
|
||||
|
||||
/* Move the put pointer, if requested. */
|
||||
if (mode & _IOS_OUTPUT)
|
||||
{
|
||||
switch (dir)
|
||||
{
|
||||
case _IO_seek_end:
|
||||
offset += cur_size;
|
||||
break;
|
||||
case _IO_seek_cur:
|
||||
offset += fp->_IO_write_ptr - fp->_IO_write_base;
|
||||
break;
|
||||
default: /* case _IO_seek_set: */
|
||||
break;
|
||||
}
|
||||
if (offset < 0 || (_IO_ssize_t) offset > cur_size)
|
||||
return EOF;
|
||||
fp->_IO_write_ptr = fp->_IO_write_base + offset;
|
||||
new_pos = offset;
|
||||
}
|
||||
if (offset < 0 || (_IO_ssize_t) offset > cur_size)
|
||||
return EOF;
|
||||
fp->_IO_write_ptr = fp->_IO_write_base + offset;
|
||||
new_pos = offset;
|
||||
}
|
||||
return new_pos;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Defines the valid international currency symbols according to ISO 4217.
|
||||
* This is used in monetary.c(monetary_check).
|
||||
*
|
||||
* If you find something missing or wrong contact <bug-glibc@prep.ai.mit.edu>
|
||||
* If you find something missing or wrong contact <bug-glibc@gnu.org>
|
||||
*
|
||||
* !!! The list has to be sorted !!!
|
||||
*/
|
||||
|
@ -307,7 +307,7 @@ Since no one has volunteered to test and fix the above configurations,
|
||||
these are not supported at the moment. It's expected that these don't
|
||||
work anymore. Porting the library is not hard. If you are interested
|
||||
in doing a port, please contact the glibc maintainers by sending
|
||||
electronic mail to @email{bug-glibc@@prep.ai.mit.edu}.
|
||||
electronic mail to @email{bug-glibc@@gnu.org}.
|
||||
|
||||
Each case of @samp{i@var{x}86} can be @samp{i386}, @samp{i486},
|
||||
@samp{i586}, or @samp{i686}. All of those configurations produce a
|
||||
@ -369,8 +369,7 @@ conform to the ISO and POSIX standards (@pxref{Standards and
|
||||
Portability}), that is definitely a bug. Report it!@refill
|
||||
|
||||
Send bug reports to the Internet address
|
||||
@email{bug-glibc@@prep.ai.mit.edu} or the UUCP path
|
||||
@email{mit-eddie!prep.ai.mit.edu!bug-glibc}. If you have other problems
|
||||
@email{bug-glibc@@gnu.org}. If you have other problems
|
||||
with installation or use, please report those as well.@refill
|
||||
|
||||
If you are not sure how a function should behave, and this manual
|
||||
@ -378,8 +377,7 @@ doesn't tell you, that's a bug in the manual. Report that too! If the
|
||||
function's behavior disagrees with the manual, then either the library
|
||||
or the manual has a bug, so report the disagreement. If you find any
|
||||
errors or omissions in this manual, please report them to the Internet
|
||||
address @email{bug-glibc-manual@@prep.ai.mit.edu} or the UUCP path
|
||||
@email{mit-eddie!prep.ai.mit.edu!bug-glibc-manual}.
|
||||
address @email{bug-glibc-manual@@prep.ai.mit.edu}.
|
||||
|
||||
@node Source Layout
|
||||
@appendixsec Adding New Functions
|
||||
|
@ -1,32 +1,40 @@
|
||||
%% TeX macros to handle Texinfo files.
|
||||
%% $Id: texinfo.tex,v 2.212 1997/08/04 14:14:11 drepper Exp $
|
||||
|
||||
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93,
|
||||
% 94, 95, 96, 97 Free Software Foundation, Inc.
|
||||
|
||||
%This texinfo.tex file is free software; you can redistribute it and/or
|
||||
%modify it under the terms of the GNU General Public License as
|
||||
%published by the Free Software Foundation; either version 2, or (at
|
||||
%your option) any later version.
|
||||
|
||||
%This texinfo.tex file is distributed in the hope that it will be
|
||||
%useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||
%of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
%General Public License for more details.
|
||||
|
||||
%You should have received a copy of the GNU General Public License
|
||||
%along with this texinfo.tex file; see the file COPYING. If not, write
|
||||
%to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
%Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
%In other words, you are welcome to use, share and improve this program.
|
||||
%You are forbidden to forbid anyone else to use, share and improve
|
||||
%what you give them. Help stamp out software-hoarding!
|
||||
|
||||
|
||||
% Send bug reports to bug-texinfo@prep.ai.mit.edu.
|
||||
% Please include a *precise* test case in each bug report.
|
||||
% texinfo.tex -- TeX macros to handle Texinfo files.
|
||||
% $Id: texinfo.tex,v 2.213 1998/03/04 17:13:03 drepper Exp $
|
||||
%
|
||||
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98
|
||||
% Free Software Foundation, Inc.
|
||||
%
|
||||
% This texinfo.tex file is free software; you can redistribute it and/or
|
||||
% modify it under the terms of the GNU General Public License as
|
||||
% published by the Free Software Foundation; either version 2, or (at
|
||||
% your option) any later version.
|
||||
%
|
||||
% This texinfo.tex file is distributed in the hope that it will be
|
||||
% useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||
% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
% General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with this texinfo.tex file; see the file COPYING. If not, write
|
||||
% to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
% Boston, MA 02111-1307, USA.
|
||||
%
|
||||
% In other words, you are welcome to use, share and improve this program.
|
||||
% You are forbidden to forbid anyone else to use, share and improve
|
||||
% what you give them. Help stamp out software-hoarding!
|
||||
%
|
||||
% Please try the latest version of texinfo.tex before submitting bug
|
||||
% reports; you can get the latest version from:
|
||||
% ftp://ftp.cs.umb.edu/pub/tex/texinfo.tex
|
||||
% /home/gd/gnu/doc/texinfo.tex on the GNU machines.
|
||||
%
|
||||
% Send bug reports to bug-texinfo@gnu.org.
|
||||
% Please include a precise test case in each bug report,
|
||||
% including a complete document with which we can reproduce the problem.
|
||||
%
|
||||
% Texinfo macros (with @macro) are *not* supported by texinfo.tex. You
|
||||
% have to run makeinfo -E to expand macros first; the texi2dvi script
|
||||
% does this.
|
||||
|
||||
|
||||
% Make it possible to create a .fmt file just by loading this file:
|
||||
@ -36,7 +44,7 @@
|
||||
|
||||
% This automatically updates the version number based on RCS.
|
||||
\def\deftexinfoversion$#1: #2 ${\def\texinfoversion{#2}}
|
||||
\deftexinfoversion$Revision: 2.212 $
|
||||
\deftexinfoversion$Revision: 2.213 $
|
||||
\message{Loading texinfo package [Version \texinfoversion]:}
|
||||
|
||||
% If in a .fmt file, print the version number
|
||||
@ -54,7 +62,8 @@
|
||||
\let\ptexdot=\.
|
||||
\let\ptexdots=\dots
|
||||
\let\ptexend=\end
|
||||
\let\ptexequiv = \equiv
|
||||
\let\ptexequiv=\equiv
|
||||
\let\ptexexclam=\!
|
||||
\let\ptexi=\i
|
||||
\let\ptexlbrace=\{
|
||||
\let\ptexrbrace=\}
|
||||
@ -441,14 +450,11 @@
|
||||
% @. is an end-of-sentence period.
|
||||
\def\.{.\spacefactor=3000 }
|
||||
|
||||
% @enddots{} is an end-of-sentence ellipsis.
|
||||
\gdef\enddots{$\mathinner{\ldotp\ldotp\ldotp\ldotp}$\spacefactor=3000}
|
||||
|
||||
% @! is an end-of-sentence bang.
|
||||
\gdef\!{!\spacefactor=3000 }
|
||||
\def\!{!\spacefactor=3000 }
|
||||
|
||||
% @? is an end-of-sentence query.
|
||||
\gdef\?{?\spacefactor=3000 }
|
||||
\def\?{?\spacefactor=3000 }
|
||||
|
||||
% @w prevents a word break. Without the \leavevmode, @w at the
|
||||
% beginning of a paragraph, when TeX is still in vertical mode, would
|
||||
@ -573,9 +579,27 @@ where each line of input produces a line of output.}
|
||||
|
||||
\let\br = \par
|
||||
|
||||
% @dots{} output some dots
|
||||
% @dots{} output an ellipsis using the current font.
|
||||
% We do .5em per period so that it has the same spacing in a typewriter
|
||||
% font as three actual period characters.
|
||||
%
|
||||
\def\dots{\hbox to 1.5em{%
|
||||
\hskip 0pt plus 0.25fil minus 0.25fil
|
||||
.\hss.\hss.%
|
||||
\hskip 0pt plus 0.5fil minus 0.5fil
|
||||
}}
|
||||
|
||||
% @enddots{} is an end-of-sentence ellipsis.
|
||||
%
|
||||
\def\enddots{%
|
||||
\hbox to 2em{%
|
||||
\hskip 0pt plus 0.25fil minus 0.25fil
|
||||
.\hss.\hss.\hss.%
|
||||
\hskip 0pt plus 0.5fil minus 0.5fil
|
||||
}%
|
||||
\spacefactor=3000
|
||||
}
|
||||
|
||||
\def\dots{$\ldots$}
|
||||
|
||||
% @page forces the start of a new page
|
||||
|
||||
@ -1236,7 +1260,7 @@ where each line of input produces a line of output.}
|
||||
\let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
|
||||
\let\tenttsl=\titlettsl
|
||||
\resetmathfonts \setleading{25pt}}
|
||||
\def\titlefont#1{{\titlefonts #1}}
|
||||
\def\titlefont#1{{\titlefonts\rm #1}}
|
||||
\def\chapfonts{%
|
||||
\let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
|
||||
\let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
|
||||
@ -1263,6 +1287,10 @@ where each line of input produces a line of output.}
|
||||
%
|
||||
\textfonts
|
||||
|
||||
% Define these so they can be easily changed for other fonts.
|
||||
\def\angleleft{$\langle$}
|
||||
\def\angleright{$\rangle$}
|
||||
|
||||
% Count depth in font-changes, for error checks
|
||||
\newcount\fontdepth \fontdepth=0
|
||||
|
||||
@ -1300,15 +1328,15 @@ where each line of input produces a line of output.}
|
||||
\null
|
||||
}
|
||||
\let\ttfont=\t
|
||||
\def\samp #1{`\tclose{#1}'\null}
|
||||
\def\samp#1{`\tclose{#1}'\null}
|
||||
\setfont\smallrm\rmshape{8}{1000}
|
||||
\font\smallsy=cmsy9
|
||||
\def\key#1{{\smallrm\textfont2=\smallsy \leavevmode\hbox{%
|
||||
\raise0.4pt\hbox{$\langle$}\kern-.08em\vtop{%
|
||||
\raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
|
||||
\vbox{\hrule\kern-0.4pt
|
||||
\hbox{\raise0.4pt\hbox{\vphantom{$\langle$}}#1}}%
|
||||
\hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
|
||||
\kern-0.4pt\hrule}%
|
||||
\kern-.06em\raise0.4pt\hbox{$\rangle$}}}}
|
||||
\kern-.06em\raise0.4pt\hbox{\angleright}}}}
|
||||
% The old definition, with no lozenge:
|
||||
%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
|
||||
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
|
||||
@ -1421,7 +1449,7 @@ where each line of input produces a line of output.}
|
||||
|
||||
% rms does not like the angle brackets --karl, 17may97.
|
||||
% So now @email is just like @uref.
|
||||
%\def\email#1{$\langle${\tt #1}$\rangle$}
|
||||
%\def\email#1{\angleleft{\tt #1}\angleright}
|
||||
\let\email=\uref
|
||||
|
||||
% Check if we are currently using a typewriter font. Since all the
|
||||
@ -2043,10 +2071,7 @@ July\or August\or September\or October\or November\or December\fi
|
||||
% @multitablelinespace is space to leave between table items, baseline
|
||||
% to baseline.
|
||||
% 0pt means it depends on current normal line spacing.
|
||||
|
||||
%%%%
|
||||
% Dimensions
|
||||
|
||||
%
|
||||
\newskip\multitableparskip
|
||||
\newskip\multitableparindent
|
||||
\newdimen\multitablecolspace
|
||||
@ -2056,15 +2081,15 @@ July\or August\or September\or October\or November\or December\fi
|
||||
\multitablecolspace=12pt
|
||||
\multitablelinespace=0pt
|
||||
|
||||
%%%%
|
||||
% Macros used to set up halign preamble:
|
||||
%
|
||||
\let\endsetuptable\relax
|
||||
\def\xendsetuptable{\endsetuptable}
|
||||
\let\columnfractions\relax
|
||||
\def\xcolumnfractions{\columnfractions}
|
||||
\newif\ifsetpercent
|
||||
|
||||
%% 2/1/96, to allow fractions to be given with more than one digit.
|
||||
% 2/1/96, to allow fractions to be given with more than one digit.
|
||||
\def\pickupwholefraction#1 {\global\advance\colcount by1 %
|
||||
\expandafter\xdef\csname col\the\colcount\endcsname{.#1\hsize}%
|
||||
\setuptable}
|
||||
@ -2090,80 +2115,84 @@ July\or August\or September\or October\or November\or December\fi
|
||||
\ifx\go\pickupwholefraction\else\let\go\setuptable\fi%
|
||||
\fi\go}
|
||||
|
||||
%%%%
|
||||
% multitable syntax
|
||||
\def\tab{&\hskip1sp\relax} % 2/2/96
|
||||
% tiny skip here makes sure this column space is
|
||||
% maintained, even if it is never used.
|
||||
|
||||
|
||||
%%%%
|
||||
% @multitable ... @end multitable definitions:
|
||||
|
||||
\def\multitable{\parsearg\dotable}
|
||||
|
||||
\def\dotable#1{\bgroup
|
||||
\let\item\cr
|
||||
\tolerance=9500
|
||||
\hbadness=9500
|
||||
\setmultitablespacing
|
||||
\parskip=\multitableparskip
|
||||
\parindent=\multitableparindent
|
||||
\overfullrule=0pt
|
||||
\global\colcount=0\relax%
|
||||
\def\Emultitable{\global\setpercentfalse\global\everycr{}\cr\egroup\egroup}%
|
||||
% To parse everything between @multitable and @item :
|
||||
\setuptable#1 \endsetuptable
|
||||
% Need to reset this to 0 after \setuptable.
|
||||
\global\colcount=0\relax%
|
||||
%
|
||||
% This preamble sets up a generic column definition, which will
|
||||
% be used as many times as user calls for columns.
|
||||
% \vtop will set a single line and will also let text wrap and
|
||||
% continue for many paragraphs if desired.
|
||||
\halign\bgroup&\global\advance\colcount by 1\relax%
|
||||
\multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname
|
||||
% In order to keep entries from bumping into each other
|
||||
% we will add a \leftskip of \multitablecolspace to all columns after
|
||||
% the first one.
|
||||
% If a template has been used, we will add \multitablecolspace
|
||||
% to the width of each template entry.
|
||||
% If user has set preamble in terms of percent of \hsize
|
||||
% we will use that dimension as the width of the column, and
|
||||
% the \leftskip will keep entries from bumping into each other.
|
||||
% Table will start at left margin and final column will justify at
|
||||
% right margin.
|
||||
\ifnum\colcount=1
|
||||
\else
|
||||
\ifsetpercent
|
||||
\vskip\parskip
|
||||
\let\item\crcr
|
||||
\tolerance=9500
|
||||
\hbadness=9500
|
||||
\setmultitablespacing
|
||||
\parskip=\multitableparskip
|
||||
\parindent=\multitableparindent
|
||||
\overfullrule=0pt
|
||||
\global\colcount=0
|
||||
\def\Emultitable{\global\setpercentfalse\cr\egroup\egroup}%
|
||||
%
|
||||
% To parse everything between @multitable and @item:
|
||||
\setuptable#1 \endsetuptable
|
||||
%
|
||||
% \everycr will reset column counter, \colcount, at the end of
|
||||
% each line. Every column entry will cause \colcount to advance by one.
|
||||
% The table preamble
|
||||
% looks at the current \colcount to find the correct column width.
|
||||
\everycr{\noalign{%
|
||||
%
|
||||
% \filbreak%% keeps underfull box messages off when table breaks over pages.
|
||||
% Maybe so, but it also creates really weird page breaks when the table
|
||||
% breaks over pages. Wouldn't \vfil be better? Wait until the problem
|
||||
% manifests itself, so it can be fixed for real --karl.
|
||||
\global\colcount=0\relax}}%
|
||||
%
|
||||
% This preamble sets up a generic column definition, which will
|
||||
% be used as many times as user calls for columns.
|
||||
% \vtop will set a single line and will also let text wrap and
|
||||
% continue for many paragraphs if desired.
|
||||
\halign\bgroup&\global\advance\colcount by 1\relax
|
||||
\multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname
|
||||
%
|
||||
% In order to keep entries from bumping into each other
|
||||
% we will add a \leftskip of \multitablecolspace to all columns after
|
||||
% the first one.
|
||||
%
|
||||
% If a template has been used, we will add \multitablecolspace
|
||||
% to the width of each template entry.
|
||||
%
|
||||
% If the user has set preamble in terms of percent of \hsize we will
|
||||
% use that dimension as the width of the column, and the \leftskip
|
||||
% will keep entries from bumping into each other. Table will start at
|
||||
% left margin and final column will justify at right margin.
|
||||
%
|
||||
% Make sure we don't inherit \rightskip from the outer environment.
|
||||
\rightskip=0pt
|
||||
\ifnum\colcount=1
|
||||
% The first column will be indented with the surrounding text.
|
||||
\advance\hsize by\leftskip
|
||||
\else
|
||||
% If user has <not> set preamble in terms of percent of \hsize
|
||||
% we will advance \hsize by \multitablecolspace
|
||||
\advance\hsize by \multitablecolspace
|
||||
\ifsetpercent \else
|
||||
% If user has not set preamble in terms of percent of \hsize
|
||||
% we will advance \hsize by \multitablecolspace.
|
||||
\advance\hsize by \multitablecolspace
|
||||
\fi
|
||||
% In either case we will make \leftskip=\multitablecolspace:
|
||||
\leftskip=\multitablecolspace
|
||||
\fi
|
||||
% In either case we will make \leftskip=\multitablecolspace:
|
||||
\leftskip=\multitablecolspace
|
||||
\fi
|
||||
% Ignoring space at the beginning and end avoids an occasional spurious
|
||||
% blank line, when TeX decides to break the line at the space before the
|
||||
% box from the multistrut, so the strut ends up on a line by itself.
|
||||
% For example:
|
||||
% @multitable @columnfractions .11 .89
|
||||
% @item @code{#}
|
||||
% @tab Legal holiday which is valid in major parts of the whole country.
|
||||
% Is automatically provided with highlighting sequences respectively marking
|
||||
% characters.
|
||||
\noindent\ignorespaces##\unskip\multistrut}\cr
|
||||
% \everycr will reset column counter, \colcount, at the end of
|
||||
% each line. Every column entry will cause \colcount to advance by one.
|
||||
% The table preamble
|
||||
% looks at the current \colcount to find the correct column width.
|
||||
\global\everycr{\noalign{%
|
||||
% \filbreak%% keeps underfull box messages off when table breaks over pages.
|
||||
% Maybe so, but it also creates really weird page breaks when the table
|
||||
% breaks over pages Wouldn't \vfil be better? Wait until the problem
|
||||
% manifests itself, so it can be fixed for real --karl.
|
||||
\global\colcount=0\relax}}
|
||||
% Ignoring space at the beginning and end avoids an occasional spurious
|
||||
% blank line, when TeX decides to break the line at the space before the
|
||||
% box from the multistrut, so the strut ends up on a line by itself.
|
||||
% For example:
|
||||
% @multitable @columnfractions .11 .89
|
||||
% @item @code{#}
|
||||
% @tab Legal holiday which is valid in major parts of the whole country.
|
||||
% Is automatically provided with highlighting sequences respectively marking
|
||||
% characters.
|
||||
\noindent\ignorespaces##\unskip\multistrut}\cr
|
||||
}
|
||||
|
||||
\def\setmultitablespacing{% test to see if user has set \multitablelinespace.
|
||||
@ -2510,6 +2539,11 @@ width0pt\relax} \fi
|
||||
\indexbreaks
|
||||
%
|
||||
% See if the index file exists and is nonempty.
|
||||
% Change catcode of @ here so that if the index file contains
|
||||
% \initial {@}
|
||||
% as its first line, TeX doesn't complain about mismatched braces
|
||||
% (because it thinks @} is a control sequence).
|
||||
\catcode`\@ = 11
|
||||
\openin 1 \jobname.#1s
|
||||
\ifeof 1
|
||||
% \enddoublecolumns gets confused if there is no text in the index,
|
||||
@ -2531,7 +2565,6 @@ width0pt\relax} \fi
|
||||
% to make right now.
|
||||
\def\indexbackslash{\rawbackslashxx}%
|
||||
\catcode`\\ = 0
|
||||
\catcode`\@ = 11
|
||||
\escapechar = `\\
|
||||
\begindoublecolumns
|
||||
\input \jobname.#1s
|
||||
@ -3427,11 +3460,12 @@ width0pt\relax} \fi
|
||||
% the index entries, but we want to suppress hyphenation here. (We
|
||||
% can't do that in the \entry macro, since index entries might consist
|
||||
% of hyphenated-identifiers-that-do-not-fit-on-a-line-and-nothing-else.)
|
||||
%
|
||||
% \turnoffactive is for the sake of @" used for umlauts.
|
||||
\def\tocentry#1#2{\begingroup
|
||||
\vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks
|
||||
\entry{\turnoffactive #1}{\turnoffactive #2}%
|
||||
% Do not use \turnoffactive in these arguments. Since the toc is
|
||||
% typeset in cmr, so characters such as _ would come out wrong; we
|
||||
% have to do the usual translation tricks.
|
||||
\entry{#1}{#2}%
|
||||
\endgroup}
|
||||
|
||||
% Space between chapter (or whatever) number and the title.
|
||||
@ -3497,30 +3531,35 @@ width0pt\relax} \fi
|
||||
% But \@ or @@ will get a plain tex @ character.
|
||||
|
||||
\def\tex{\begingroup
|
||||
\catcode `\\=0 \catcode `\{=1 \catcode `\}=2
|
||||
\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
|
||||
\catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie
|
||||
\catcode `\%=14
|
||||
\catcode 43=12 % plus
|
||||
\catcode`\"=12
|
||||
\catcode`\==12
|
||||
\catcode`\|=12
|
||||
\catcode`\<=12
|
||||
\catcode`\>=12
|
||||
\escapechar=`\\
|
||||
%
|
||||
\let\,=\ptexcomma
|
||||
\let\{=\ptexlbrace
|
||||
\let\}=\ptexrbrace
|
||||
\let\.=\ptexdot
|
||||
\let\*=\ptexstar
|
||||
\let\dots=\ptexdots
|
||||
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
|
||||
\def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
|
||||
\def\@{@}%
|
||||
\let\bullet=\ptexbullet
|
||||
\let\b=\ptexb \let\c=\ptexc \let\i=\ptexi \let\t=\ptext
|
||||
%
|
||||
\catcode `\\=0 \catcode `\{=1 \catcode `\}=2
|
||||
\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
|
||||
\catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie
|
||||
\catcode `\%=14
|
||||
\catcode 43=12 % plus
|
||||
\catcode`\"=12
|
||||
\catcode`\==12
|
||||
\catcode`\|=12
|
||||
\catcode`\<=12
|
||||
\catcode`\>=12
|
||||
\escapechar=`\\
|
||||
%
|
||||
\let\b=\ptexb
|
||||
\let\bullet=\ptexbullet
|
||||
\let\c=\ptexc
|
||||
\let\,=\ptexcomma
|
||||
\let\.=\ptexdot
|
||||
\let\dots=\ptexdots
|
||||
\let\equiv=\ptexequiv
|
||||
\let\!=\ptexexclam
|
||||
\let\i=\ptexi
|
||||
\let\{=\ptexlbrace
|
||||
\let\}=\ptexrbrace
|
||||
\let\*=\ptexstar
|
||||
\let\t=\ptext
|
||||
%
|
||||
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
|
||||
\def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
|
||||
\def\@{@}%
|
||||
\let\Etex=\endgroup}
|
||||
|
||||
% Define @lisp ... @endlisp.
|
||||
@ -4373,7 +4412,7 @@ width0pt\relax} \fi
|
||||
\def\refx#1#2{%
|
||||
\expandafter\ifx\csname X#1\endcsname\relax
|
||||
% If not defined, say something at least.
|
||||
$\langle$un\-de\-fined$\rangle$%
|
||||
\angleleft un\-de\-fined\angleright
|
||||
\ifhavexrefs
|
||||
\message{\linenumber Undefined cross reference `#1'.}%
|
||||
\else
|
||||
@ -4390,10 +4429,13 @@ width0pt\relax} \fi
|
||||
}
|
||||
|
||||
% This is the macro invoked by entries in the aux file.
|
||||
\def\xrdef #1#2{{%
|
||||
\catcode`\'=\other
|
||||
\expandafter\gdef\csname X#1\endcsname{#2}%
|
||||
}}
|
||||
%
|
||||
\def\xrdef#1{\begingroup
|
||||
% Reenable \ as an escape while reading the second argument.
|
||||
\catcode`\\ = 0
|
||||
\afterassignment\endgroup
|
||||
\expandafter\gdef\csname X#1\endcsname
|
||||
}
|
||||
|
||||
% Read the last existing aux file, if any. No error if none exists.
|
||||
\def\readauxfile{\begingroup
|
||||
@ -4617,7 +4659,7 @@ width0pt\relax} \fi
|
||||
% Check for and read epsf.tex up front. If we read it only at @image
|
||||
% time, we might be inside a group, and then its definitions would get
|
||||
% undone and the next image would fail.
|
||||
\openin 1 = xepsf.tex
|
||||
\openin 1 = epsf.tex
|
||||
\ifeof 1 \else
|
||||
\closein 1
|
||||
\def\epsfannounce{\toks0 = }% do not bother showing banner
|
||||
|
@ -67,16 +67,21 @@ nscd_open_socket (void)
|
||||
{
|
||||
struct sockaddr_un addr;
|
||||
int sock;
|
||||
int saved_errno = errno;
|
||||
|
||||
sock = socket (PF_UNIX, SOCK_STREAM, 0);
|
||||
if (sock < 0)
|
||||
return -1;
|
||||
{
|
||||
__set_errno (saved_errno);
|
||||
return -1;
|
||||
}
|
||||
|
||||
addr.sun_family = AF_UNIX;
|
||||
strcpy (addr.sun_path, _PATH_NSCDSOCKET);
|
||||
if (connect (sock, (struct sockaddr *) &addr, sizeof (addr)) < 0)
|
||||
{
|
||||
close (sock);
|
||||
__set_errno (saved_errno);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -67,16 +67,21 @@ nscd_open_socket (void)
|
||||
{
|
||||
struct sockaddr_un addr;
|
||||
int sock;
|
||||
int saved_errno = errno;
|
||||
|
||||
sock = socket (PF_UNIX, SOCK_STREAM, 0);
|
||||
if (sock < 0)
|
||||
return -1;
|
||||
{
|
||||
__set_errno (saved_errno);
|
||||
return -1;
|
||||
}
|
||||
|
||||
addr.sun_family = AF_UNIX;
|
||||
strcpy (addr.sun_path, _PATH_NSCDSOCKET);
|
||||
if (connect (sock, (struct sockaddr *) &addr, sizeof (addr)) < 0)
|
||||
{
|
||||
close (sock);
|
||||
__set_errno (saved_errno);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -282,11 +282,17 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
|
||||
case PATHCONF:
|
||||
if (argc < 3)
|
||||
usage ();
|
||||
errno = 0;
|
||||
value = pathconf (argv[2], c->call_name);
|
||||
if (value == -1)
|
||||
error (3, errno, "pathconf: %s", argv[2]);
|
||||
|
||||
printf ("%ld\n", value);
|
||||
{
|
||||
if (errno)
|
||||
error (3, errno, "pathconf: %s", argv[2]);
|
||||
else
|
||||
puts (_("undefined"));
|
||||
}
|
||||
else
|
||||
printf ("%ld\n", value);
|
||||
exit (0);
|
||||
|
||||
case SYSCONF:
|
||||
|
@ -45,7 +45,6 @@ __fpathconf (fd, name)
|
||||
#ifdef LINK_MAX
|
||||
return LINK_MAX;
|
||||
#else
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
@ -53,7 +52,6 @@ __fpathconf (fd, name)
|
||||
#ifdef MAX_CANON
|
||||
return MAX_CANON;
|
||||
#else
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
@ -61,7 +59,6 @@ __fpathconf (fd, name)
|
||||
#ifdef MAX_INPUT
|
||||
return MAX_INPUT;
|
||||
#else
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
@ -69,14 +66,21 @@ __fpathconf (fd, name)
|
||||
#ifdef NAME_MAX
|
||||
{
|
||||
struct statfs buf;
|
||||
int save_errno = errno;
|
||||
|
||||
if (__fstatfs (fd, &buf) < 0)
|
||||
return errno == ENOSYS ? NAME_MAX : -1;
|
||||
{
|
||||
if (errno == ENOSYS)
|
||||
{
|
||||
errno = save_errno;
|
||||
return NAME_MAX;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
return buf.f_namelen;
|
||||
}
|
||||
#else
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
@ -84,7 +88,6 @@ __fpathconf (fd, name)
|
||||
#ifdef PATH_MAX
|
||||
return PATH_MAX;
|
||||
#else
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
@ -92,7 +95,6 @@ __fpathconf (fd, name)
|
||||
#ifdef PIPE_BUF
|
||||
return PIPE_BUF;
|
||||
#else
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
@ -142,13 +144,9 @@ __fpathconf (fd, name)
|
||||
#ifdef SOCK_MAXBUF
|
||||
return SOCK_MAXBUF;
|
||||
#else
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
}
|
||||
|
||||
weak_alias (__fpathconf, fpathconf)
|
||||
|
@ -43,7 +43,6 @@ __pathconf (const char *path, int name)
|
||||
#ifdef LINK_MAX
|
||||
return LINK_MAX;
|
||||
#else
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
@ -51,7 +50,6 @@ __pathconf (const char *path, int name)
|
||||
#ifdef MAX_CANON
|
||||
return MAX_CANON;
|
||||
#else
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
@ -59,7 +57,6 @@ __pathconf (const char *path, int name)
|
||||
#ifdef MAX_INPUT
|
||||
return MAX_INPUT;
|
||||
#else
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
@ -67,14 +64,21 @@ __pathconf (const char *path, int name)
|
||||
#ifdef NAME_MAX
|
||||
{
|
||||
struct statfs buf;
|
||||
int save_errno = errno;
|
||||
|
||||
if (__statfs (path, &buf) < 0)
|
||||
return errno == ENOSYS ? NAME_MAX : -1;
|
||||
{
|
||||
if (errno == ENOSYS)
|
||||
{
|
||||
errno = save_errno;
|
||||
return NAME_MAX;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
return buf.f_namelen;
|
||||
}
|
||||
#else
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
@ -82,7 +86,6 @@ __pathconf (const char *path, int name)
|
||||
#ifdef PATH_MAX
|
||||
return PATH_MAX;
|
||||
#else
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
@ -90,7 +93,6 @@ __pathconf (const char *path, int name)
|
||||
#ifdef PIPE_BUF
|
||||
return PIPE_BUF;
|
||||
#else
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
@ -140,13 +142,9 @@ __pathconf (const char *path, int name)
|
||||
#ifdef SOCK_MAXBUF
|
||||
return SOCK_MAXBUF;
|
||||
#else
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
}
|
||||
|
||||
weak_alias (__pathconf, pathconf)
|
||||
|
@ -42,8 +42,8 @@
|
||||
vector will have to be laid out to allow for this \
|
||||
test :-(. */ \
|
||||
if (((ElfW(auxv_t) *)_test)->a_type <= AT_PHDR) \
|
||||
(auxp) = (ElfW(auxv_t) *) _tmp; \
|
||||
} \
|
||||
(auxp) = (ElfW(auxv_t) *) _tmp; \
|
||||
} while (0)
|
||||
|
||||
|
||||
|
41
sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
Normal file
41
sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
Normal file
@ -0,0 +1,41 @@
|
||||
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef _SYS_UCONTEXT_H
|
||||
#define _SYS_UCONTEXT_H 1
|
||||
|
||||
#include <features.h>
|
||||
#include <signal.h>
|
||||
|
||||
/* We need the signal context definitions even if they are not used
|
||||
included in <signal.h>. */
|
||||
#include <bits/sigcontext.h>
|
||||
|
||||
typedef struct sigcontext mcontext_t;
|
||||
|
||||
/* Userlevel context. */
|
||||
typedef struct ucontext
|
||||
{
|
||||
unsigned long int uc_flags;
|
||||
struct ucontext *uc_links;
|
||||
stack_t uc_stack;
|
||||
mcontext_t uc_mcontext;
|
||||
__sigset_t uc_sigmask;
|
||||
} ucontext_t;
|
||||
|
||||
#endif /* sys/ucontext.h */
|
Loading…
Reference in New Issue
Block a user