Commit Graph

603 Commits

Author SHA1 Message Date
peter
9a1ce7893a Be extra certain that "#include <osreldate.h>" must not be used in
kernel code.
2001-02-18 20:44:06 +00:00
imp
51cffb6bac Fix the current libc breakage in current:
o Back out the __std* stuff.  Can't figure out how to do this right now,
  so we'll save it for late.
o use _up as a pointer for extra fields that we need to access.
o back out the libc major version bump.

Submitted by: green
reviewed by: peter, imp, green, obrien (to varying degrees).

We'll fix the "how do we stop encoding sizeof(FILE) in binaries" part
later.
2001-02-16 06:11:22 +00:00
ume
bf66c2eda8 Correct 2nd argument of getnameinfo(3) to socklen_t.
Reviewed by:	itojun
2001-02-15 10:35:55 +00:00
peter
1c970ba5b3 Commit a libc fix going by the current state of the version numbering
bikeshed in -arch.  It isn't quite over, but it has been well established
that this can be adjusted or refined.  But we do seem to have consensis
on a major bump of some sort.  After this, it should reasonably safe
to build world again.

This change is to get rid of __sF[] and use seperate __stdin/out/err
handles.  This means we can pad on extra bits onto the end of FILE
at will without going through this all over again.  __sF[] was evil
because it compiled the sizeof(FILE) into every stdio using program.

Asbestos suit on: check!
Peril sensitive sunglasses on: check!
*gulp!*
2001-02-14 05:00:20 +00:00
peter
21629372f8 It sounded like a good idea at the time. The previous change breaks
FILE *buffer = stdout;
so back it out for now.
2001-02-12 03:31:23 +00:00
peter
06fa925192 Take advantage of the current libc sizeof(FILE) breakage (__sF[]) and
try a hopefully more robust stdin/stdout/stderr.  This costs an indirect
pointer fetch, but saves us from changes in 'FILE'.  The __stdin stuff
is there to not pollute application name space if the application does
not use <stdio.h> and also in case something depended on the current
behavior where stdin etc was a #define.

Reviewed by:	eischen, dillon
2001-02-12 02:50:30 +00:00
deischen
d5657ce8b6 libc MT-safety, part 2.
Add a lock to FILE and define an additional flag.
2001-02-11 22:04:18 +00:00
phantom
2d3793614b add langinfo.h 2001-02-08 17:14:28 +00:00
phantom
043f9a3fa1 Add SUSv2 compatible nl_langinfo() function. It still need some work, but
this is already usable one.
2001-02-08 17:12:03 +00:00
asmodai
166df89947 Fix some nits:
- whitespace: incorrect usage of tab or space
	- removal of comments which served either no purpose or were
	  misleading

Submitted by:	bde [a while ago]
2001-02-06 23:39:06 +00:00
asmodai
7dcfea0100 Fix typo: compatability -> compatibility.
Compatability is not an existing english word.

Add $FreeBSD$.
2001-02-06 12:04:54 +00:00
asmodai
47a2266000 Fix typo: seperate -> separate.
Seperate does not exist in the english language.

Submitted to look at by:	kris
2001-02-06 10:39:38 +00:00
bde
1fafc41400 Declare strunvisx(). 2001-02-06 01:15:32 +00:00
deischen
274959d593 Add a lock to DIR to make telldir and friends MT-safe.
Clean up stdio.h a bit and remove _THREAD_SAFE.  Some of the
usual macros getc, putc, getchar, putchar are no longer macros.

Approved by:	-arch
2001-01-24 13:01:47 +00:00
peter
f7920f6761 Move MD <machine/if_wavelan_ieee.h> to MI <dev/wi/if_wavelan_ieee.h> 2001-01-09 00:50:45 +00:00
sheldonh
a722f84812 Remove struct.h, which has been punted into the Attic. 2001-01-03 12:35:39 +00:00
phk
cde0f52fcd Finally put this mistake to rest. 2001-01-03 10:04:45 +00:00
deischen
d8b31c7943 Change prototype to getlogin_r to reflect recent change to its
implementation (conformance to '96 POSIX standard).
2001-01-01 13:35:04 +00:00
phk
6180841d0a Use TAILQ instead of CIRCLEQ. 2000-12-29 20:25:01 +00:00
jasone
a877c14171 Remove prototypes for pthread_attr_[gs]etfloatstate(), which we don't
implement.
2000-12-28 18:46:21 +00:00
deischen
45428979ec Move telldir position recording type definitions and prototypes
to "telldir.h" in order to prevent namespace pollution in
<dirent.h> (which was including <sys/queue.h>).

Add $FreeBSD$ to rewinddir.c and seekdir.c.
2000-12-11 04:00:36 +00:00
obrien
c2ee1dcc02 Add `_PATH_DEVZERO'.
Use _PATH_* where where possible.
2000-12-09 09:35:55 +00:00
deischen
507950431d Add a LIST_HEAD to DIR for a queue of telldir positions.
Also add a location count (used as the magic for telldir)
to DIR.  A future change will also add a mutex/lock.
2000-12-06 03:14:28 +00:00
phk
a2f3d44766 Make <struct.h> #error instead of #warn that it is going away on jan 1st. 2000-12-01 22:15:56 +00:00
alfred
283f072077 remove unneeded sys/ucred.h include 2000-11-30 18:33:02 +00:00
asmodai
54bcb032de Fix stdbool.h to actually work as advertised.
PR:		22936
Submitted by:	Donald J. Maddox <Donald.J.Maddox@cae88-102-101.sc.rr.com>
		bde
2000-11-29 14:41:00 +00:00
phk
5df764b518 Make it possible to override the function which writes messages to
stderr in case of warnings and errors.

Rename malloc_options to have a leading underscore, I belive I have been
told that is more correct namespace wise.
2000-11-26 10:30:18 +00:00
phk
54ca48450c Convert all users of fldoff() to offsetof(). fldoff() is bad
because it only takes a struct tag which makes it impossible to
use unions, typedefs etc.

Define __offsetof() in <machine/ansi.h>

Define offsetof() in terms of __offsetof() in <stddef.h> and <sys/types.h>

Remove myriad of local offsetof() definitions.

Remove includes of <stddef.h> in kernel code.

NB: Kernelcode should *never* include from /usr/include !

Make <sys/queue.h> include <machine/ansi.h> to avoid polluting the API.

Deprecate <struct.h> with a warning.  The warning turns into an error on
01-12-2000 and the file gets removed entirely on 01-01-2001.

Paritials reviews by:   various.
Significant brucifications by:  bde
2000-10-27 11:45:49 +00:00
brian
b93e97d898 Add netnatm to LDIRS
Submitted by:	Makoto MATSUSHITA <matusita@jp.FreeBSD.org>
2000-10-16 07:00:18 +00:00
dwmalone
7fc1fa1654 Cleanup of bitstring.h:
1) Add FreeBSD: tag.
2) Add parenthesis around macro args.
3) Add parenthesis around macros which are expressions.
4) Add do { ... } while (0) around macros which are compound statements.
5) Sync bitstr_size and bit_alloc with neater versions from NetBSD.
6) Fix bit_ffs and bit_ffc so that they don't search off the end of the
	bitstirng.
7) Try to avoid rightshifting signed ints.

I didn't take NetBSD's version directly as the macros are significantly
slower for long bitstrings. Bruce reviewed a previous version of
this patch.

PR:		21204
Submitted by:	bob@immure.com
Reviewed by:	bde
2000-10-09 12:34:51 +00:00
jdp
5cb81fbe56 Add a definition for RTLD_DEFAULT. 2000-09-19 04:24:50 +00:00
jdp
b0c44b0f1d Update the prototype for "r_brk" to correspond with the change in
"src/libexec/rtld-elf/rtld.c" revision 1.48.  This eliminates a
warning when building the dynamic linker, and it doesn't seem to
hurt anything else.
2000-09-18 20:40:32 +00:00
asmodai
df683ace98 Welcome stdbool.h. A header file from the ANSI C99 specification.
It defines the boolean values.
2000-09-16 07:28:44 +00:00
ache
d331a0c108 Use MTREE_FOLLOWS_SYMLINKS option
This is part of whole subsystem fixing

Reviewed by:	imp
2000-09-15 08:08:04 +00:00
ru
8160e83fc7 There is no reason to clobber ${DESTDIR}/usr/include/{isofs,ufs,dev}
in SHARED=copies case since all symbolic links previously created by
SHARED=symlinks install have already been removed to that point.

PR:		misc/21150
2000-09-14 12:12:23 +00:00
peter
69183b2b83 I have not tested this to completion yet, but this appears to fix world.
Add nsswitch.h to the list of includes installed.
2000-09-07 00:10:02 +00:00
nectar
748554442d Add nsswitch support. By creating an /etc/nsswitch.conf file, you can
configure FreeBSD so that various databases such as passwd and group can be
looked up using flat files, NIS, or Hesiod.

= Hesiod has been added to libc (see hesiod(3)).

= A library routine for parsing nsswitch.conf and invoking callback
  functions as specified has been added to libc (see nsdispatch(3)).

= The following C library functions have been modified to use nsdispatch:
    . getgrent, getgrnam, getgrgid
    . getpwent, getpwnam, getpwuid
    . getusershell
    . getaddrinfo
    . gethostbyname, gethostbyname2, gethostbyaddr
    . getnetbyname, getnetbyaddr
    . getipnodebyname, getipnodebyaddr, getnodebyname, getnodebyaddr

= host.conf has been removed from src/etc.  rc.network has been modified
  to warn that host.conf is no longer used at boot time.  In addition, if
  there is a host.conf but no nsswitch.conf, the latter is created at boot
  time from the former.

Obtained from:	NetBSD
2000-09-06 18:16:48 +00:00
brian
5990f9fefc Move setproctitle() from libutil to libc (after a repo-copy)
and bump __FreeBSD_version to 500012 to mark the occasion.

setproctitle() is prototyped in unistd.h as opposed to stdlib.h
where OpenBSD and NetBSD have it.

Reviewed by: peter
2000-09-02 01:51:36 +00:00
des
355bb561f3 Import XPG4-compliant basename(3) and dirname(3) from OpenBSD.
The man pages need some adjustments.

PR:		12960, 12962
Submitted by:	James Howard <howardjp@wam.umd.edu>
Obtained from:	OpenBSD
2000-08-31 15:56:15 +00:00
green
67c40ef892 Add working and easy crypt(3)-switching. Yes, we need a whole new API
for crypt(3) by now.  In any case:

Add crypt_set_format(3) + documentation to -lcrypt.
Add login_setcryptfmt(3) + documentation to -lutil.
Support for switching crypt formats in passwd(8).
Support for switching crypt formats in pw(8).

The simple synopsis is:
edit login.conf; add a passwd_format field set to "des" or "md5"; go nuts :)

Reviewed by:	peter
2000-08-22 02:15:54 +00:00
jhb
14e8818587 Revert gratuitous whitespace changes from revisions 1.111 and 1.112. 2000-08-17 07:51:48 +00:00
peter
c749b2743d Add a prototype for rfork_thread().
pid_t rfork_thread(int forkflags, void *stack, int (*func)(void *arg),
                   void *arg);
A new process is created, presumably using RFMEM shared address space.
The child process switches to the supplied stack, which is set up with a
function call frame.  The function is called with the supplied arguement.
If the function returns, the return value will be used with _exit(2).
2000-07-29 11:53:35 +00:00
marcel
510255570c Backout addition of -L switch to mtree. Using -L breaks the
build process in too many cases. Adding mtree to bootstrap-tools
to solve this breaks the upgrade path because mtree needs a
libc that has strtofflags and fflagstostr.
2000-07-23 16:33:00 +00:00
nsayer
653b65714e Back out 1.15. It caused more harm than good. Something, however,
must be done to fix this situation.

Submitted by: bde
2000-07-21 14:49:09 +00:00
ache
5973e7a1a6 Add -L to mtree 2000-07-16 08:19:49 +00:00
alfred
fc2b721d26 fix spelling errors.
Pointed out by: bde
2000-07-07 16:52:24 +00:00
alfred
9cf69c30c9 cleanup the tsearch import.
remove (comment out) functions defined or depricated elsewhere:
  bsearch, lfind, lsearch, insque, remque

change hcreate to take a size_t rather than uint (essentially the same)

since hcreate/hdestroy are now in <search.h>, remove private search.h
in lib/libc/db/hash/

add $FreeBSD tags to hsearch.c
2000-07-06 20:04:34 +00:00
itojun
09cb034585 add getifaddrs(3) from bsdi. this is a magic function which lets you grab
interface addresses in a portable manner, without headache of SIOCGIFCONF
or sysctl.  it is in bsdi/openbsd/netbsd already.
from kame tree (actually, mandatory for latest kame tree).
2000-07-05 02:13:17 +00:00
dan
4b9cb06856 Add URI encoding to the vis/unvis routines courtesy of VIS_HTTPSTYLE.
Since alex is a -doc committer, he can update his own manpage. :-)

Also add $FreeBSD$ while I'm here.

Submitted by: alex
2000-07-01 15:55:49 +00:00
alfred
5a1e6c960d bring in binary search tree code.
Obtained from: NetBSD
2000-07-01 06:55:11 +00:00
nsayer
6405d79248 Moving forward on my commitment to always make at least one commit from
a terminal room of any conference I attend....

Fix xdrproc_t prototype. () instead of (...) breaks C++ programs.
2000-06-22 01:46:25 +00:00
joe
c747c3c63a Add strtofflags and fflagstostr to libc. 2000-06-17 11:55:57 +00:00
jake
961b97d434 Back out the previous change to the queue(3) interface.
It was not discussed and should probably not happen.

Requested by:		msmith and others
2000-05-26 02:09:24 +00:00
jake
d93fbc9916 Change the way that the queue(3) structures are declared; don't assume that
the type argument to *_HEAD and *_ENTRY is a struct.

Suggested by:	phk
Reviewed by:	phk
Approved by:	mdodd
2000-05-23 20:41:01 +00:00
peter
4c8f8a80b1 Install /usr/include/dev/ppbus as well as dev/usb 2000-05-19 22:08:18 +00:00
bde
8e84288c32 Fixed missing consts for function parameters, so that the code matches
the man page and POSIX.1.  Fixed nearby misformatting.  Fixed a missing
prototype.
2000-05-11 15:57:17 +00:00
jhb
13d30a3d17 Finish moving all IEEE fp types to be the same on all arch's. 2000-05-10 19:41:40 +00:00
obrien
4c9cbbd684 fp_except => fp_except_t for consistancy with the i386 and the tradition
C methoid of nameing types.
2000-05-10 19:00:45 +00:00
jlemon
64238f2a36 Revert previous commit, and remove the <event.h> symlink. As this is
a system-specific extension, not a standardized interface, it should
be located with the sys/ includes.

Requested by:	wollman
2000-04-18 17:00:22 +00:00
jlemon
9b6c0ec9af Create <event.h> -> <sys/event.h> link that I forgot earlier.
Reminded by:	ache
2000-04-16 22:31:49 +00:00
ru
c7d280efd4 The idea always was that `make copies' should undo the
`make symlinks' job, but it got broken in rev 1.109.

Restore the correct behaviour.
2000-04-06 07:33:29 +00:00
jasone
5a8478e839 Do not conditionalize function prototype definition for functions we
implement.

Noticed by:	Thimble Smith <tim@mysql.com>
Approved by:	jkh
2000-02-20 07:40:25 +00:00
obrien
049c6bbad0 There is a problem in that one cannot use ctype.h at the same time as parts
of the C++ stdlib.  Our ctype.h uses symbols of the form _<X> to denote the
various character classes.  Our ctype.h also extends the usual ctype.h
offering by adding the "_T" (special) class.  Problem is parts of the STL
also use the symbol "_T" as its parameterized type.  These two uses are
incompatible.

Thus change the form of the symbols used in ctype to something that fixes
the current problem and is less likely to cause conflicts in the future.

Requested by:	Tomoaki NISHIYAMA <tomoaki@biol.s.u-tokyo.ac.jp>
Ok'ed by:	JKH
2000-02-08 07:43:26 +00:00
shin
63ef3be5d6 Change IPv6 address scope delimeter from '@' to '%' as recent KAME change.
'@' conflicts with existing notations such as user@host, so '%' is better.

Approved by: jkh

Obtained from: KAME project
2000-02-08 05:12:45 +00:00
joe
b57f9be4b7 Revert part of the last commit, remove {g|s}etflags from the libc
interface, and statically link them to the programs using them.
These functions, upon reflection and discussion, are too generically
named for a library interface with such specific functionality.
Also the api that they use, whilst ok for private use, isn't good
enough for a libc function.

Additionally there were complications with the build/install-world
process.  It depends heavily upon xinstall, which got broken by
the change in api, and caused bootstrap problems and general mayhem.

There is work in progress to address future problems that may be
caused by changes in install-chain tools, and better names for
{g|s}etflags can be derived when some future program requires them.
For now the code has been left in src/lib/libc/gen (it started off
in src/bin/ls).

It's important to provide library functions for manipulating file
flag strings if we ever want this interface to be adopted outside
of the source tree, but now isn't necessarily the right moment
with 4.0-release just around the corner.

Approved:	jkh
2000-02-05 18:42:36 +00:00
shin
9742b65930 sync iruserok() extension API with other BSDs
Some of rcmd related function is need to be updated to
  support IPv6. Some of them are already updated as standard
  document. But there is also several de-facto functions and
  they are not listed in standard documents.
  They are,

    iruserok()  (used by rlogind, rshd)
    ruserok()   (used by kerberos, etc)

  KAME package updated those functions in original way.

    iruserok_af()
    ruserok_af()

  But recently there was discussion on IETF IPng mailing
  list about how to sync those API, and it is decided,

    -Those function is not standard and not documented.
    -But let BSDs sync their API as de-facto.

  And after some discussion, it is announced that

    -add update to iruserok() as iruserok_sa()
    -no ruserok() API change(it is only updated internaly)

So I sync those API before 4.0 is released.
The changes are,
   -prototype changes
   -ruserok() internal update (use iruserok_sa() inside)
   -removal of ruserok_af()
   -change iruserok_af() as static functioin, and also prefix the name with __.
   -add iruserok_sa() (Just call __iruserok_af() inside)
   -adding flag AI_ALL to getipnodebyaddr() called from __icheckhost().
    This is necessary to support IPv4 communication via AF_INET6 socket
    could be correctly authenticated via iruserok_sa()
   -irusreok_af() call is replaced to iruserok_sa() call
    in rlogind, and rshd.

Approved by: jkh
2000-02-01 15:55:56 +00:00
jdp
d360ce9343 Add a #define for RTLD_LOCAL as required by the Single Unix
Specification.
2000-01-29 01:53:35 +00:00
joe
f1a9497df5 Historically file flags (schg, uschg, etc) have been converted from
string to u_long and back using two functions, flags_to_string and
string_to_flags, which co-existed with 'ls'.  As time has progressed
more and more other tools have used these private functions to
manipulate the file flags.

Recently I moved these functions from /usr/src/bin/ls to libutil,
but after some discussion with bde it's been decided that they
really ought to go in libc.

There are two already existing libc functions for manipulating file
modes:  setmode and getmode.  In keeping with these flags_to_string
has been renamed getflags and string_to_flags to setflags.

The manual page could probably be improved upon ;)
2000-01-27 21:17:01 +00:00
peter
36c90d4614 Sigh. Really fix it this time. It seems the first time through the
run it would modify the source tree, causing it to fail the second
time around. Sigh.
2000-01-26 17:38:51 +00:00
peter
7f0f3f3358 Fix world breakage (kdump, truss) causes by rev 1.107 (adding dev/usb).
It was creating ${.OBJDIR}/${MACHINE}/usr/include/dev -> .../sys/dev
and mkioctls would descend that and saw *all* of src/sys/dev/*/*.h,
not just dev/usb/*.h.  It then choked on the dpt includes.
2000-01-26 17:12:09 +00:00
shin
eb4463295b bindresvport related changes
-changed bindresvport2 to bindresvport_sa
 -merged the man into bindresvport.3

All discussion between Jean-Luc Richier <Jean-Luc.Richier@imag.fr>,
Theo de Raadt <deraadt@cvs.openbsd.org>, itojun, is reflected to
this code. (Actually Theo de Raadt write the code simultaneously as the
discussion change.)
2000-01-26 09:02:42 +00:00
shin
fc29f7bcf7 several tcp apps IPv6 update
-inetd
 -rshd
 -rlogind
 -telnetd
 -rsh
 -rlogin

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
2000-01-25 14:52:10 +00:00
n_hibma
7d24a31cec Install the USB include files in /usr/include/dev/usb.
We should still sort out some way of avoiding the clutter. Not all files
should be there.

Prompted by:   Louis A. Mamakos <louie@TransSys.COM>
2000-01-25 09:24:23 +00:00
peter
12f6911ad0 Add prototypes for [sg]etres[ug]id(). 2000-01-17 13:32:55 +00:00
bde
3c688ac85d Fixed disordering, misformatting, and duplicate declaration of
iruserok_af() in previous commit.
2000-01-14 15:43:27 +00:00
shin
16085f4294 libc rcmd update for IPv6.
A new function bindresvport2(), AF independent version of bindresvport()
is also added.

Reviewed by: sumikawa
Obtained from: KAME project
2000-01-13 15:09:48 +00:00
deischen
b4c9cf300f Make sched_param parameter a const to comply with POSIX and SUSv2 specs.
This doesn't need to be applied to stable, because somehow -stable seems
to have gotten it right.

Reviewed by:	jasone
2000-01-10 04:14:08 +00:00
jdp
d88c9767e1 Remove the comment warning that the dllockinit() interface might
change.  I have decided that the interface is general enough to
last.
2000-01-09 20:57:21 +00:00
peter
d53e4c1d80 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 05:07:58 +00:00
jdp
363b7bd537 Work around an assert failure in the dynamic linker's default thread
locking functions.  If an application loads a shared object with
dlopen() and the shared object has an init function which requires
lazy binding, then _rtld_bind is called when the thread is already
inside the dynamic linker.  This leads to a recursive acquisition
of the lock, which I was not expecting -- hence the assert failure.

This work-around makes the default locking functions handle recursive
locking.  It is NOT the correct fix -- that should be implemented
at the generic locking level rather than in the default locking
functions.  I will implement the correct fix in a future commit.

Since the dllockinit() interface will likely need to change, warn
about that in both the man page and the header file.
1999-12-28 04:38:17 +00:00
shin
8c2ccb59ca Getaddrinfo(), getnameinfo(), and etc support in libc/net.
Several udp and raw apps IPv6 support.

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
1999-12-28 02:37:14 +00:00
jdp
52ec4df9e8 Add a new function dllockinit() for registering thread locking
functions to be used by the dynamic linker.  This can be called by
threads packages at start-up time.  I will add the call to libc_r
soon.

Also add a default locking method that is used up until dllockinit()
is called.  The default method works by blocking SIGVTALRM, SIGPROF,
and SIGALRM in critical sections.  It is based on the observation
that most user-space threads packages implement thread preemption
with one of these signals (usually SIGVTALRM).

The dynamic linker has never been reentrant, but it became less
reentrant in revision 1.34 of "src/libexec/rtld-elf/rtld.c".
Starting with that revision, multiple threads each doing lazy
binding could interfere with each other.  The usual symptom was
that a symbol was falsely reported as undefined at start-up time.
It was rare but not unseen.  This commit fixes it.
1999-12-27 04:44:04 +00:00
bde
0fcd581c55 Fixed missing declaration of ctermid_r(3). 1999-12-23 16:33:12 +00:00
bde
e2aec95a73 Fixed missing declaration of getlogin_r(3). 1999-12-23 16:06:12 +00:00
bde
d840632d4c Fixed missing declaration of rand_r(3). 1999-12-23 15:58:20 +00:00
bde
910709e890 Fixed missing declaration of getdents(2). 1999-12-23 15:52:13 +00:00
jasone
432d84cbec Fix some minor POSIX/SUSv2 compliance nits.
PR:		kern/11982
1999-12-18 01:00:42 +00:00
phantom
37b2004d09 Back up following macros by functions: ishexnumber, isideogram, isnumber,
isphonogram, isrune, isspecial. Fix ordering.

Reviewed by: bde
1999-12-17 15:12:21 +00:00
jasone
afbc7e5a64 Move POSIX feature constants from pthread.h to unistd.h, as required by
1003.1c-1995.

Undefine _POSIX_THREAD_SAFE_FUNCTIONS, since we do not implement all of the
necessary interfaces.  At least getgrgid_r(), getrnam_r(), getpwuid_r(),
getpwnam_r(), getc_unlocked(), getchar_unlocked(), putc_unlocked(),
and putchar_unlocked() are missing.  Due to a likely typo in 1003.1c-1995,
we are not technically allowed to define _POSIX_THREADS without defining
_POSIX_THREAD_SAFE_FUNCTIONS, but either way we're non-compliant, so I'm
leaving _POSIX_THREADS defined.

PR:		bin/8281
1999-12-16 21:53:39 +00:00
marcel
78dcb3a4bc Revert previous commit.
Requested by: bde
1999-12-09 09:35:36 +00:00
marcel
e967ef5135 Remove support for symlinks instead of copies. This also avoids
using mtree. Space is being saved by other means.
1999-12-08 13:47:30 +00:00
peter
cb7edae888 Create a symlink for <machine/joystick.h>, like soundcard.h 1999-12-05 21:34:09 +00:00
semenu
b59f528107 Added ntfs subdir to be filled. 1999-12-03 20:22:45 +00:00
alfred
f7d7085dbe style fixes, remove extra braces.
readdir_r is not POSIX according to POSIX_SOURCE, bruce says:
> readdir_r() is in the _POSIX_SOURCE section, but is not a POSIX.1-1990
> function.  It's POSIX.1-1996 so it should be under a different feature
> test which we don't support yet.

make sure errno is saved so that its contents are cleared unless
necessary.

Submitted by: bde
1999-11-29 19:12:50 +00:00
alfred
e7efcb5302 add pthread_cancel, obtained from OpenBSD.
eischen (Daniel Eischen) added wrappers to protect against cancled
threads orphaning internal resources.

the cancelability code is still a bit fuzzy but works for test
programs of my own, OpenBSD's and some examples from ORA's books.

add readdir_r to both libc and libc_r

add some 'const' attributes to function parameters

Reviewed by: eischen, jasone
1999-11-28 05:38:13 +00:00
ache
ba8f82e935 Add FNM_FILE_NAME - GNU alias to FNM_PATHNAME
Move all excepting NOESCAPE,PATHNAME,PERIOD under !defined(_POSIX_SOURCE)
1999-11-21 17:32:45 +00:00
jlemon
fad9b06dcd Add missing netinet6.
Detected by:	make world
1999-11-05 18:49:00 +00:00
julian
c5c63975d5 Whistle's Netgraph link-layer (sometimes more) networking infrastructure.
Been in production for 3 years now. Gives Instant Frame relay to if_sr
and if_ar drivers, and PPPOE support soon. See:
ftp://ftp.whistle.com/pub/archie/netgraph/index.html
for on-line manual pages.

Reviewed by: Doug Rabson (dfr@freebsd.org)
Obtained from:  Whistle CVS tree
1999-10-21 09:06:11 +00:00
bp
511cb27e6c Make libncp actually compiled.
Reviewed by:	mdodd
1999-10-14 06:40:46 +00:00
peter
45a8689a21 Complete move of kvm.h to lib/libkvm so it's self contained. 1999-10-04 14:59:37 +00:00
marcel
9b3d962f73 Link ucontext.h to sys/ucontext.h
Pointed out by: bde
1999-10-03 15:12:26 +00:00
marcel
0611a8a3a0 Remove the inline versions of sigaddset, sigdelset, sigemptyset,
sigfillset and sigismember.

Submitted by: bde
1999-10-02 19:33:23 +00:00
marcel
5bf7ce284b sigset_t change (part 5 of 5)
-----------------------------

Most of the userland changes are in libc. For both the alpha
and the i386 setjmp has been changed to accomodate for the
new sigset_t. Internally, libc is mostly rewritten to use the
new syscalls. The exception is in compat-43/sigcompat.c

The POSIX thread library has also been rewritten to use the
new sigset_t. Except, that it currently only handles NSIG
signals instead of the maximum _SIG_MAXSIG. This should not
be a problem because current applications don't use any
signals higher than NSIG.

There are version bumps for the following libraries:
  libdialog
  libreadline
  libc
  libc_r
  libedit
  libftpio
  libss

These libraries either a) have one of the modified structures
visible in the interface, or b) use sigset_t internally and
may cause breakage if new binaries are used against libraries
that don't have the sigset_t change. This not an immediate
issue, but will be as soon as applications start using the
new range to its fullest.

NOTE: libncurses already had an version bump and has not been
      given one now.

NOTE: doscmd is a real casualty and has been disconnected for
      the moment. Reconnection will eventually happen after
      doscmd has been fixed. I'm aware that being the last one
      to touch it, I'm automaticly promoted to being maintainer.
      According to good taste this means that I will receive a
      badge which either will be glued or mechanically stapled,
      drilled or otherwise violently forced onto me :-)

NOTE: pcvt/vttest cannot be compiled with -traditional. The
      change cause sys/types to be included along the way which
      contains the const and volatile modifiers. I don't consider
      this a solution, but more a workaround.
1999-09-29 15:18:46 +00:00
peter
23b4f202df Zap $Revision$ 1999-09-05 17:43:31 +00:00
peter
c26ce778a8 Only install backwards compat symlink for <machine/soundcard.h> if using
the default SHARED=copies, otherwise the kernel source tree gets modified
if /usr/include/machine is a symlink to the source tree (which is not the
case by default).  Nothing in our src tree uses <machine/soundcard.h>.

Pointed out by:	bde
1999-09-05 07:58:28 +00:00
peter
25bf1e19af Install a symlink for <machine/soundcard.h> -> <sys/soundcard.h> rather
than having stubs.  (OK'ed by dfr)
1999-09-04 15:44:44 +00:00
jdp
005f49ab4e Add definition for RTLD_GLOBAL, which is soon to be supported. 1999-08-30 00:50:12 +00:00
peter
c81dbb3c98 $Header$ -> $FreeBSD$ 1999-08-28 05:11:36 +00:00
peter
d4e3ebaf0a $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
mdodd
b47bf1ab5f Add 2 functions: el_data_set() and el_data_get() which do what you
would expect.  (Allow user data to be associated with an EditLine context).

As this changes no existing interfaces and doesn't alter any structs
visable to the user I've been told that its not necessary to bump
the version of the library.
1999-08-20 01:17:12 +00:00
imp
38c97f6062 Add prototypes for strl* functions
Forgotten by: imp
Reported by: bde
1999-08-16 06:53:13 +00:00
rse
39fb552a02 Cleanups to the pthread header files.
Submitted by:   Ralf S. Engelschall <rse@engelschall.com>
Reviewed by:    John Birrell <jb@cimlogic.com.au>
1999-07-31 08:36:07 +00:00
deischen
7d55c97821 Hide pthread cancellation routines behind #ifdef NOT_YET. They are
not currently supported.  Also corrected the declaration for
pthread_testcancel which incorrectly returned int when POSIX and
SUSv2 both say it should be void.

Submitted by:	Ralf S. Engelschall <rse@engelschall.com>
Reviewed by:	John Birrell <jb@freebsd.org>
1999-07-27 03:29:01 +00:00
simokawa
21fa36a2c1 Make profil() 64bit-safe for alpha.
uintfptr_t may be better for offset, but we must wait until
the definition of uintfptr_t moves from machine/profile.h.

Reviewed by: bde
1999-07-16 06:28:55 +00:00
steve
acb1a34584 Allow fpsetmask(3) and friends to be used from a C++ program on the Alpha.
Reviewed by:	dfr
1999-06-22 17:08:25 +00:00
sheldonh
337113f078 Add missing declarations.
PR:	12058
Submitted by:	Mikhail Teterin <mi@aldan.algebra.com>
1999-06-21 17:07:20 +00:00
peter
800c3a618a Change an internal variable from "class" to "ns_class" for C++'s benefit.
Apparently BIND-8.2.1 uses ns_class.

Submitted by: John Plevyak <jplevyak@inktomi.com>
1999-06-04 22:38:27 +00:00
peter
91cb63bd82 Add a strsignal(3) (like strerror(3)) for libc compatability with other
systems. NetBSD, Linux, SVR4 etc all have it.
1999-05-18 04:48:58 +00:00
bde
0c512720e5 Restored rev.1.11 which was clobbered by rev.1.12 (translated to `C'). 1999-05-11 07:28:53 +00:00
jkh
ed809a974d Protect declarations for C++ users.
Submitted by:	Richard Wiwatowski <rjwiwat@ozemail.com.au>
1999-05-08 05:50:07 +00:00
nectar
b0c2561d17 16 characters for the device name in /etc/dumpdates is not long
enough, particularly when using vinum.  Allow 32 characters
(arbitrary, I know) instead.

PR:	bin/11433
1999-05-08 01:08:56 +00:00
markm
1285616a27 Part of routed upgrade.
Submitted by:	 Vernon Schryver <vjs@calcite.rhyolite.com>
1999-05-02 13:20:38 +00:00
jdp
e206feb881 Back out my change from 6 April PDT that added a new dlversion()
function.  It was an ill-considered feature.  It didn't solve the
problem I wanted it to solve.   And it added Yet Another Version
Number that would have to be maintained at every release point.
I'm nuking it now before anybody grows too fond of it.
1999-04-22 01:54:38 +00:00
bde
fbe37a582c Oops, the previous log message should have been:
Include <machine/ansi.h> so that this file is self-sufficient again.
Rev.1.6 doesn't do this as claimed unless <nlist.h> has nonstandard
pollution.

Cleaned up includes.
1999-04-10 03:49:43 +00:00
bde
b624ddd420 Declare mkstemps(). 1999-04-09 15:06:56 +00:00
jdp
fd4074472e Add a new function dlversion() which returns the version number of
the dynamic linker in the same form as __FreeBSD_version.  This is
mainly intended for checking the dynamic linker version during a make
world.
1999-04-07 02:43:11 +00:00
dt
b2093101cd Add prototypes for pread and pwrite. 1999-04-04 21:47:53 +00:00
jb
e071fcc31a o Runnable threads are now maintained in priority queues. The
implementation requires two things:

      1.) The priority queues must be protected during insertion
          and removal of threads.  Since the kernel scheduler
          must modify the priority queues, a spinlock for
          protection cannot be used.   The functions
          _thread_kern_sched_defer() and _thread_kern_sched_undefer()
          were added to {un}defer kernel scheduler activation.

      2.) A thread (active) priority change can be performed only
          when the thread is removed from the priority queue.  The
          implementation uses a threads active priority when
          inserting it into the queue.

    A by-product is that thread switches are much faster.  A
    separate queue is used for waiting and/or blocked threads,
    and it is searched at most 2 times in the kernel scheduler
    when there are active threads.  It should be possible to
    reduce this to once by combining polling of threads waiting
    on I/O with the loop that looks for timed out threads and
    the minimum timeout value.

  o Functions to defer kernel scheduler activation were added.  These
    are _thread_kern_sched_defer() and _thread_kern_sched_undefer()
    and may be called recursively.  These routines do not block the
    scheduling signal, but latch its occurrence.  The signal handler
    will not call the kernel scheduler when the running thread has
    deferred scheduling, but it will be called when running thread
    undefers scheduling.

  o Added support for _POSIX_THREAD_PRIORITY_SCHEDULING.  All the
    POSIX routines required by this should now be implemented.
    One note, SCHED_OTHER, SCHED_FIFO, and SCHED_RR are required
    to be defined by including pthread.h.  These defines are currently
    in sched.h.  I modified pthread.h to include sched.h but don't
    know if this is the proper thing to do.

  o Added support for priority protection and inheritence mutexes.
    This allows definition of _POSIX_THREAD_PRIO_PROTECT and
    _POSIX_THREAD_PRIO_INHERIT.

  o Added additional error checks required by POSIX for mutexes and
    condition variables.

  o Provided a wrapper for sigpending which is marked as a hidden
    syscall.

  o Added a non-portable function as a debugging aid to allow an
    application to monitor thread context switches.  An application
    can install a routine that gets called everytime a thread
    (explicitly created by the application) gets context switched.
    The routine gets passed the pthread IDs of the threads that are
    being switched in and out.  I found this useful, but we can
    get rid of it if you want.

Submitted by: Dan Eischen <eischen@vigrid.com>
1999-03-23 05:11:30 +00:00
phk
8a3b4cd60a Nuke old copies of /usr/include/timepps.h 1999-03-22 12:58:15 +00:00
phk
a633f10529 Remove <timepps.h> here as well.
You will need to manually rip it from /usr/include if it gives you any
trouble.
1999-03-11 15:12:28 +00:00
phk
9c47f49734 removed from PPS-API draft 1999-03-11 15:07:09 +00:00
bde
545aa5b0f4 Use __i386__ instead of i386 in an ifdef. 1999-03-05 18:15:05 +00:00
dt
dd5f24e20c Added functions fseeko() and ftello() (from susv2).
Fixed fgetpos() and fsetpos() for offsets > 2GB.

PR:		8637
Submitted by:	 Dan Nelson <dnelson@emsphone.com> (adjusted by me a little)
1999-02-08 21:32:38 +00:00
bde
76aad88d08 Removed evil typedef kvm_swap_t and all uses of it (not many).
Hoped for by:	wollman
1999-01-27 11:29:15 +00:00
dillon
3434445aa2 Oops, forgot this. Needed by libkvm. 1999-01-23 04:58:35 +00:00
jdp
346064c48d Add a prototype for strtok_r(). 1999-01-20 21:21:26 +00:00
des
9dabb14045 Use the correct type for uid and gid in struct passwd. Document it. 1999-01-18 02:14:20 +00:00
dt
35cffc9a2f Install <sys/aio.h> as <aio.h>. 1999-01-17 22:35:09 +00:00
jdp
82f7e5a7b4 Instead of a wrapper <linker_set.h>, use a symlink to
<sys/linker_set.h>.

Submitted by:	bde
1999-01-14 19:52:38 +00:00
jdp
fc14389080 Add a wrapper <linker_set.h> for <sys/linker_set.h>, so that
userland programs can use linker sets.
1999-01-14 05:53:54 +00:00
msmith
ac069d6677 optreset is a POSIX extension, make it visible in POSIX_SOURCE scope.
Submitted by:	 Andrzej Bialecki <abial@nask.pl>
1999-01-11 11:32:35 +00:00
asami
bde447d289 Move nologin from /etc to /var/run. This means one less file that has
to be written to /etc.

The only essential change is in paths.h, so any third-party software
written correctly will pick it up in the next rebuild.

Reviewed by:	the committers list (actually an old version)
1999-01-11 09:07:42 +00:00
msmith
192ad366a1 POSIX introduced optreset to deal with multiple invocations
of getopt (as in, multiple input lines :). This is documented in the
man page and is used in the code, but unistd.h and stand.h do not
declare it. Incidentally, it prevents me fixing a bug in loader's
code... :-)

PR:		misc/9373
Submitted by:	"Daniel C. Sobral" <dcs@newsguy.com>
1999-01-11 06:01:29 +00:00
dt
c09e434e50 Make ctime_r, asctime_r, gmtime_r, and localtime_r available in libc. 1999-01-04 20:45:20 +00:00
dfr
0d57a81a8b Implement fpsetmask() and other fp*() functions. Programs should use
#include <ieeefp.h>

to access these functions instead of the i386 specific

	#include <machine/floatingpoint.h>

Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1998-12-23 11:50:52 +00:00
dt
e03090ed37 Install <sys/inttypes.h> as <inttypes.h>. 1998-12-19 00:21:13 +00:00
dt
5d9cc4426e Little reorganization:
- created internal names for fixed-size integral types, like __int32_t. They
  will be used to make several headers self-sufficient.
- <stdlib.h> don't include <machine/types.h> anymore.
- created <sys/inttypes.h>, which can be used as <inttypes.h>.
- declaration of uoff_t and ufs_daddr_t moved to <sys/types.h>.

Reviewed by:	bde
1998-12-19 00:02:34 +00:00
bde
933cffdd82 Declare size_t and ssize_t if they are not already declared, so that
<kvm.h> is self-sufficient again.

Moved typedefs and forward struct declarations out of __BEGIN_DECLS/
__END_DECLS.

Don't comment out the prototype for kvm_uread().  This was a 4 year
old kludge for previous breakage of self-sufficiency.  The prototypwe
was broken instead.

Fixed bitrot (const poisoning) in the type of kvm_uread().

Fixed order of the declaration of kvm_uread().
1998-12-16 18:59:47 +00:00
dt
cf4547cfad Make this protototype of mmap return void *, like two other copies. 1998-12-14 19:23:16 +00:00
archie
75f552f0ac Make rcsid a const char[] instead of char[] to avoid compiler warnings 1998-12-06 08:15:08 +00:00