Commit Graph

868 Commits

Author SHA1 Message Date
Ruslan Ermilov
82813a8c7a Don't clobber headers that we didn't create.
Noticed by:	bde
Reviewed by:	bde
2002-04-03 17:29:20 +00:00
Poul-Henning Kamp
6ba22b4849 Remove the disktab.h include file from the build. 2002-04-01 20:20:16 +00:00
Poul-Henning Kamp
4f3c3c4b5c This file is entirely bogus. 2002-04-01 20:03:31 +00:00
Mike Barcroft
8822d3fb83 o Implement <sys/_types.h>, a new header for storing types that are
MI, not required to be a fixed size, and used in multiple headers.
  This will grow in time, as more things move here from <sys/types.h>
  and <machine/ansi.h>.
o Add missing type definitions (uint16_t and uint32_t) to
  <arpa/inet.h> and <netinet/in.h>.
o Reduce pollution in <sys/types.h> by using `#if _FOO_T_DECLARED'
  widgets to avoid including <sys/stdint.h>.
o Add some missing type definitions to <unistd.h> and note the ones
  that still need to be added.
o Make use of <sys/_types.h> primitives in <grp.h> and <sys/types.h>.

Reviewed by:	bde
2002-04-01 08:12:25 +00:00
Ruslan Ermilov
9f1207d517 Install sys/security/lomac/*.h to /usr/include/security/lomac/.
Install sys/<arch>/include/pc/*.h to /usr/include/machine/pc/.

PR:		docs/29534

Install sys/netatm/*/*.h to /usr/include/netatm/*/.

Don't install compatibility symlinks for <machine/soundcard.h>
and <machine/joystick.h>.  Three years is enough to be aware of
the change, and these weren't visible in the SHARED=symlinks
case.

Back out include/Makefile,v 1.160 that was a null change anyway
due to the bug in the path, and we now don't want to install
these headers because they would otherwise be invisible in the
SHARED=symlinks case.

Don't install IPFILTER headers.  Userland utilities fetch them
directly, and they were not visible in the SHARED=symlinks case.

Resurrect SHARED=symlinks in Makefile.inc1.

PR:		bin/28002

Prodded by:	bde
MFC after:	2 weeks
2002-03-26 16:05:14 +00:00
Bruce Evans
c73f9145f3 Join continuation lines that fit in 80 columns after removal of __P(()). 2002-03-26 01:37:03 +00:00
Bruce Evans
514a0ae7d2 Fixed some style bugs in the removal of __P(()). Some function parameter
lists were outdented to column 0.
2002-03-26 01:35:05 +00:00
Warner Losh
f1f4666ecd Missed a __P in a .x file, remove it anyway 2002-03-24 01:11:49 +00:00
Warner Losh
bb28f3c29b Breath deep and take __P out of the system include files.
# This appears to not break X11, but I'm having problems compiling the
# glide part of the server with or without this patch, so I can't tell
# for sure.
2002-03-23 17:24:55 +00:00
Alfred Perlstein
bc0381304d rename 'enum res' and 'struct status' to 'enum sm_res' and 'struct sm_status'
to avoid -Wshadow warnings in consumers of its generated header files.
2002-03-22 19:43:21 +00:00
Alfred Perlstein
b275d8fe48 Constify the first arg to callrpc(3). 2002-03-22 19:19:32 +00:00
Warner Losh
80578e902c const poison just like NetBSD. 2002-03-22 02:43:01 +00:00
Warner Losh
ae10a3fcce Make user_from_uid and group_from_gid return const char *, just like
NetBSD.  Update man page to reflect this.
2002-03-22 02:35:47 +00:00
Ruslan Ermilov
7a43a96ab0 Replaced hacks in sbin/Makefile,v 1.99 and usr.sbin/Makefile,v 1.217
with the NO_IPFILTER make.conf(5) knob.

(So that we can "make the-rest-of-the-world" again.)
2002-03-21 09:15:39 +00:00
David E. O'Brien
fb8294fed9 Tokens after #endif are not strict ISO. 2002-03-13 10:29:06 +00:00
Mike Barcroft
6a6230d2f6 o Add INET_ADDRSTRLEN and INET6_ADDRSTRLEN defines to <arpa/inet.h>
for POSIX.1-2001 conformance.
o Add magic to <netinet/in.h> and <netinet6/in6.h> to prevent
  redefining INET_ADDRSTRLEN and INET6_ADDRSTRLEN.
o Add a note about missing typedefs in <arpa/inet.h>.
2002-03-10 06:42:27 +00:00
Mike Barcroft
d846855da8 o Don't require long long support in bswap64() functions.
o In i386's <machine/endian.h>, macros have some advantages over
  inlines, so change some inlines to macros.
o In i386's <machine/endian.h>, ungarbage collect word_swap_int()
  (previously __uint16_swap_uint32), it has some uses on i386's with
  PDP endianness.

Submitted by:	bde

o Move a comment up in <machine/endian.h> that was accidentially moved
  down a few revisions ago.
o Reenable userland's use of optimized inline-asm versions of
  byteorder(3) functions.
o Fix ordering of prototypes vs. redefinition of byteorder(3)
  functions, so that the non-GCC (libc asm) case has proper
  prototypes.
o Add proper prototypes for byteorder(3) functions in <sys/param.h>.
o Prevent redundant duplicate prototypes by making use of the
  _BYTEORDER_PROTOTYPED define.
o Move the bswap16(), bswap32(), bswap64() C functions into MD space
  for platforms in which asm versions don't exist.  This significantly
  reduces the complexity of some things at the cost of duplicate code.

Reviewed by:	bde
2002-03-09 21:02:16 +00:00
Brian Feldman
aeff2223dc Synch with OpenBSD (style). 2002-03-08 20:52:52 +00:00
Mike Barcroft
e0865ca9d8 Use a integral type that doesn't require <sys/types.h>. This
accomplishes the goal of actually making <grp.h> independent of other
headers for the definition of its types.

Pointy hat to:	mike
2002-03-08 03:09:46 +00:00
Mike Barcroft
834dcade30 Rather than include namespace pollution in <grp.h> in order to declare
`gid_t', use the canonical protection scheme to define a type in two or
more headers.  This brings <grp.h> closer to POSIX.1-2001 conformance.
2002-02-26 19:43:03 +00:00
Maxim Sobolev
b73aa6457c Per POSIX <grp.h> doesn't require <sys/types.h>.
Submitted by:	ache
2002-02-25 17:20:40 +00:00
Maxim Sobolev
85148c8f03 Backout rev.1.5 - it seems that it's posixly correct that the program
needs to include <sys/types.h> before <grp.h>.

Submitted by:	fjoe, sheldonh
		David Malone <dwmalone@maths.tcd.ie>
2002-02-25 13:55:47 +00:00
Maxim Sobolev
bef621eb79 In rev.1.4 type of (group)->gr_gid was changes from (int) to (gid_t),
so that <sys/types.h> is now required. Add it, otherwise it breaks
some ports.

Submitted by:	Joe Marcus Clarke <marcus@marcuscom.com>
2002-02-25 13:24:02 +00:00
Mike Barcroft
fd8e4ebc8c o Move NTOHL() and associated macros into <sys/param.h>. These are
deprecated in favor of the POSIX-defined lowercase variants.
o Change all occurrences of NTOHL() and associated marcros in the
  source tree to use the lowercase function variants.
o Add missing license bits to sparc64's <machine/endian.h>.
  Approved by: jake
o Clean up <machine/endian.h> files.
o Remove unused __uint16_swap_uint32() from i386's <machine/endian.h>.
o Remove prototypes for non-existent bswapXX() functions.
o Include <machine/endian.h> in <arpa/inet.h> to define the
  POSIX-required ntohl() family of functions.
o Do similar things to expose the ntohl() family in libstand, <netinet/in.h>,
  and <sys/param.h>.
o Prepend underscores to the ntohl() family to help deal with
  complexities associated with having MD (asm and inline) versions, and
  having to prevent exposure of these functions in other headers that
  happen to make use of endian-specific defines.
o Create weak aliases to the canonical function name to help deal with
  third-party software forgetting to include an appropriate header.
o Remove some now unneeded pollution from <sys/types.h>.
o Add missing <arpa/inet.h> includes in userland.

Tested on:	alpha, i386
Reviewed by:	bde, jake, tmm
2002-02-18 20:35:27 +00:00
Daniel Eischen
3445a5f016 Oops, forgot to commit this (s/ucontext_t/struct __ucontext/). 2002-02-17 19:21:42 +00:00
Warner Losh
fc69394f0a Move user_from_uid to pwd.h
Move group_from_gid to grp.h
Remove from stdlib.h
Make the prototypes match the code
Fix rm and mv to include new files.

NetBSD has these defined in those files, and others too that I've not
done.

Approved by: terminal room kabal
Reviewed by: jhb, phk
2002-02-14 01:59:47 +00:00
Warner Losh
906a42ebca Revert 1.29. It breaks the build. Will figure out a better way to do
this that doesn't break things.
2002-02-13 10:11:38 +00:00
Warner Losh
5644da9ee5 Make the user_from_uid and group_from_gid prototypes match the actual
function definitions.
2002-02-13 09:33:00 +00:00
Dag-Erling Smørgrav
ed4d1c46a2 Apply the following mechanical transformations in preparation for
ansification and constification:

    s{\s+__P\((\(.*?\))\)}{$1}g;
    s{\(\s+}{\(}g;
    s{\s+\)}{\)}g;
    s{\s+,}{,}g;
    s{(\s+)(for|if|switch|while)\(}{$1$2 \(}g;
    s{return ([^\(].*?);}{return ($1);}g;
    s{([\w\)])([!=+/\*-]?=)([\w\(+-])}{$1 $2 $3}g;
    s{\s+$}{\n};g

Also add $FreeBSD$ where needed.

MFC after:	1 week
2002-02-06 13:30:31 +00:00
Alfred Perlstein
8d6301358e Fix cc -Wall, fix rcsid warnings, add missing prototypes,
change prototypes to be the same as in the original sun tirpc code.
Remove ()P macro in a file where the mayority had ()P already removed.
Add them if the mayority use ()P macros.

Submitted by: mbr
Requested by: bde
2002-02-05 23:43:43 +00:00
Dag-Erling Smørgrav
576da32600 Move arguments in prototype out of application namespace.
Sponsored by:	DARPA, NAI Labs
2002-02-05 06:31:58 +00:00
Rob Braun
509853bbfd Makes __istype() an inline (and a non inlined) function to avoid C++
compile issues.  std::isspace(' ') was expanding to std::(!!_maskrune...)
which would cause a C++ compile error.  Making __istype() an inline
causes the expansion to be std::__istype() instead, which is valid.

Reviewed by: jkh
2002-02-05 06:21:34 +00:00
Maxim Sobolev
c6de4ce791 Allow ldd(1) be used on shared libraries in addition to executables. 2002-02-04 10:33:48 +00:00
Mark Murray
0e5065e34c WARNS-n and lint(1) silencer. Declare (const) strings properly as
'const char *'.
2002-02-03 12:00:05 +00:00
David Malone
98d1592458 Change brk's prototype from char *brk(const char *) to int brk(const void *)
and sbrk's prototype from char *sbrk(int) to void *sbrk(intptr_t).

This makes us more consistant with NetBSD and standards which include
these functions. Bruce pointed out that ptrdiff_t would probably
have been better than intptr_t, but this doesn't match other
implimentations.

Also remove local declarations of sbrk and unnecessary casting.

PR:		32296
Tested by:	Harti Brandt <brandt@fokus.gmd.de>
MFC after:	1 month
2002-01-24 12:11:31 +00:00
Mark Murray
5567b258eb Use the proper type (gid_t) for (group)->gr_gid to be orthogonal
with uid_t usage and (user)->pw_uid.

PR:		3242
2002-01-22 17:32:53 +00:00
Matthew Dillon
170ac683f2 I've been meaning to do this for a while. Add an underscore to the
time_to_xxx() and xxx_to_time() functions.  e.g. _time_to_xxx()
instead of time_to_xxx(), to make it more obvious that these are
stopgap functions & placemarkers and not meant to create a defacto
standard.  They will eventually be replaced when a real standard
comes out of committee.
2002-01-19 23:20:02 +00:00
Mike Barcroft
6304c952e5 Add support for C++.
Submitted by:	bde
PR:		33590
2002-01-06 19:04:12 +00:00
Doug Ambrisko
0d6fcb5c0e Fix bugs in the structure for rx_frame by making gap length one byte and
a packed array so sizeof work.  This broke RFMON mode and passing
up 802.11 packets.

The Linux emulation code was derived from the open source Linux driver to
maintain compatibility.

LEAP support is added, hints from Richard Johnson.  I've verified this
locally with PC350v42510.img firmware.  More bug fixing from Marco to
fix long passwords.

Change DELAYs in flash part of driver to FLASH_DELAY which uses tsleep
so it doesn't look like your system died during a flash update.

Install header files in /usr/include/dev/an

Cleanup some ifmedia bugs add "Home" key mode to ifmedia and ancontrol.
This way you can manage 2 keys a little easier.  Map the home mode into
key 5.  Enhance ifconfig to dump the various configured SSIDs.  I use
a bunch of different ones and roam between them.  Use the syntax similar
to the WEP keys to deal with setting difference SSIDs.

Bump up up the Card capabilities RID since they added 2 bytes to it
in the latest firmware.  Thankfully we changed it from a terminal
failure so the card still worked but the driver whined.

Some cleanup patches from Marco Molteni.

Submitted by:	Richard Johnson <raj@cisco.com>
		Marco Molteni <molter@tin.it>
		and myself
Various checks: David Wolfskill <david@catwhisker.org>
Reviewed by:	Brooks Davis <brooks@freebsd.org>
		Warner Losh <imp@freebsd.org>
Approved by:	Brooks Davis <brooks@freebsd.org>
		Warner Losh <imp@freebsd.org>
Obtained from:	Linux emulation API's from Aironet driver.
2001-12-31 22:01:44 +00:00
Mike Barcroft
ec55a6050d Fix support for K&R C.
MFC after:	3 days
2001-12-22 05:18:37 +00:00
Ruslan Ermilov
a7aaf57e4a FILES support for bsd.prog.mk. See bsd.README for details.
Stolen from:	NetBSD
2001-12-17 13:59:35 +00:00
Brian Feldman
125c50cdeb Install devfs includes. 2001-12-17 13:38:58 +00:00
Sheldon Hearn
85519b003a Add bmake glue for src/contrib/smbfs and connect userland smbfs
support to the build.

The MFC reminder below is subject to <re@FreeBSD.org> approval
prior to 4.5-RELEASE.

Reviewed by:	bp, fjoe
MFC:	1 week
2001-12-14 11:41:22 +00:00
Alexey Zelkin
19e4b807f6 * style(9)'ify
* add K&R support to langinfo.h

Requested by:	bde (2)
2001-12-12 15:41:08 +00:00
Alexey Zelkin
20ad349dbb Get rid of unsed since rev 1.109 of lib/Makefile WANT_CSRG_LIBM define.
We'll never install math.h wrapped by this define since msun's math.h
is using, so it should be removed from the source tree at some point
(after merge of useful stuff to msun's math.h which is installing now
to /usr/include)

Reviewed by:    bde
2001-12-11 16:38:33 +00:00
Alexey Zelkin
52d6b43026 Add my e-mail to copyrights 2001-12-11 16:00:47 +00:00
David E. O'Brien
3d7f57bc69 An extra #ifdef crept in with rev 1.38. 2001-12-05 04:16:33 +00:00
David E. O'Brien
1bd6873376 Turn back on fmtcheck's attribute checks, guarded for non-GCC compilers.
Submitted by:	bde
2001-12-04 21:30:23 +00:00
David E. O'Brien
38f54953b3 Remove the GCC'ism "__attribute__" from the 'fmtcheck' prototype.
I leave it up to someone else to fix this breakage properly.
2001-12-04 01:24:10 +00:00
Mark Murray
7a32b4b1c6 Merge from master (crypto) telnet. WARNS fixes for alpha. 2001-12-03 12:41:19 +00:00
Mike Barcroft
4f25b0aa46 Add a missing underscore.
Submitted by:	fenner
2001-12-01 03:48:15 +00:00
Mike Barcroft
de2656d0ed o Stop abusing MD headers with non-MD types.
o Hide nonstandard functions and types in <netinet/in.h> when
  _POSIX_SOURCE is defined.
o Add some missing types (required by POSIX.1-200x) to <netinet/in.h>.
o Restore vendor ID from Rev 1.1 in <netinet/in.h> and make use of new
  __FBSDID() macro.
o Fix some miscellaneous issues in <arpa/inet.h>.
o Correct final argument for the inet_ntop() function (POSIX.1-200x).
o Get rid of the namespace pollution from <sys/types.h> in
  <arpa/inet.h>.

Reviewed by:		fenner
Partially submitted by:	bde
2001-12-01 03:43:01 +00:00
Robert Watson
433a202297 o Improve consistency of style by fixing tabs around _PATH_AUTHCONF. 2001-11-30 16:25:09 +00:00
Robert Watson
0caeee4e36 o Introduce _PATH_CAPABILITY and _PATH_CAPABILITY_DB to the system
path set.  These files will hold per-user capability information.

Obtained from:	TrustedBSD Project
Submitted by:	tmm
2001-11-30 16:24:20 +00:00
Bruce Evans
930dbabb42 Oops, actually fix the namespace pollution for atoll() as the previous
commit claimed to do.
2001-11-29 07:08:56 +00:00
Bruce Evans
614b366763 Fixed namespace pollution and/or breakage of K&R and C90 support related to
the following functions in the following commits:
- atoll() in revs 1.23-1.25
- llabs() and lldiv() in revs 1.22
- strtoq() and strtouq() in revs 1.18
C99 functions must not be declared in C90/POSIX.1-1990 sections, and
"long long" must not be exposed to compilers that don't support it.

Fixed style bugs (mainly misindentation and disorder) related the
following functions in the following commits:
- atoll() in revs 1.23-1.25
- getprogname() in rev.1.21
- sranddev() in revs 1.19-1.20
- strtoq() and strtouq() in rev.1.13
- user_from_uid() in rev.1.1
Breakage of K&R and C90 support used to be avoided by conditializing the
"long long"s for strtoq() and strtouq() on __STRICT_ANSI__, but the
conditionals should have gone away in rev.1.13 when the "long long"s went
away (the problem was moved to the places that declare quad_t and u_quad_t).
2001-11-28 19:52:25 +00:00
Bruce Evans
d23c1cd5d7 Fixed namespace pollution in previous commit. The C99 function
sterror_r() must not be declared in the C90/POSIX.1-1990 section.
Put it in the nonstandard section for now.
2001-11-28 19:02:01 +00:00
Andrey A. Chernov
46a9bbdc62 Whitespace formatting 2001-11-28 02:18:53 +00:00
Andrey A. Chernov
6497eddc3f Fix just added atoll prototype 2001-11-28 01:51:00 +00:00
Andrey A. Chernov
59d01330c4 Add atoll(3) to conform POSIX and C99 2001-11-28 01:22:08 +00:00
Wes Peters
9c324dc0c0 Add strerror_r function per Posix prototype.
Reviewed by:	Mike Barcroft <mike@FreeBSD.org>
MFC after:	2 weeks
2001-11-27 07:39:46 +00:00
Brian Feldman
13d98e8c66 Introduce readpassphrase(3), a superset of getpass(3). This
comes originally from Todd Miller.

Obtained from:	OpenBSD
2001-11-20 15:15:42 +00:00
Brian Feldman
bd0489873c Install LOMAC includes from the new directory. 2001-11-20 14:37:07 +00:00
John Baldwin
3878fff7db Use fixed-size fields in the structure for the timed protocol. This
includes changing a struct timeval to an explicit structure of two
int32_t's.  This requires using temporary timevals in several places
when calling gettimeofday(), settimeofday(), etc.  With this timed now
works properly on 64-bit platforms such as Alpha.

Obtained from:	NetBSD
2001-11-20 06:36:09 +00:00
Brian Feldman
3d383bb3f6 Install LOMAC public headers.
Sponsored by:	DARPA, NAI Labs (CBOSS project)
2001-11-19 05:10:50 +00:00
Mike Barcroft
7a4a63270f o Implement imaxabs(), imaxdiv(), llabs(), lldiv().
o Update abs(3), div(3), labs(3), ldiv(3) to reflect standards
  conformance and add additional references.

Reviewed by:	bde, wollman
2001-11-15 02:05:03 +00:00
Alfred Perlstein
0a679263f9 NFS split forgot to prototype nfsclnt() syscall, do it. 2001-11-13 09:07:31 +00:00
Ruslan Ermilov
e117e7a5b0 - Put missing prototype for rcmd() in <unistd.h>.
- Clean up the manpage.
- style(9) rcmdsh.c.

Committed from:	BSDCon/EU 2k+1 terminal room
2001-11-09 15:19:25 +00:00
David E. O'Brien
c222b1694b Traditionally work in the -traditional case.
Submitted by:	joerg
2001-11-07 23:14:31 +00:00
Peter Wemm
c2900483ae Remove FreeBSD/vax and FreeBSD/tahoe support.
Add $FreeBSD$

Submitted by:	phk
2001-11-03 08:38:54 +00:00
Mike Barcroft
0ac2d551f2 o Add new header <sys/stdint.h>.
o Make <stdint.h> a symbolic link to <sys/stdint.h>.
o Move most of <sys/inttypes.h> into <sys/stdint.h>, as per C99.
o Remove <sys/inttypes.h>.
o Adjust includes in sys/types.h and boot/efi/include/ia64/efibind.h
  to reflect new location of integer types in <sys/stdint.h>.
o Remove previously symbolicly linked <inttypes.h>, instead create a
  new file.
o Add MD headers <machine/_inttypes.h> from NetBSD.
o Include <sys/stdint.h> in <inttypes.h>, as required by C99; and
  include <machine/_inttypes.h> in <inttypes.h>, to fill in the
  remaining requirements for <inttypes.h>.
o Add additional integer types in <machine/ansi.h> and
  <machine/limits.h> which are included via <sys/stdint.h>.

Partially obtain from:	NetBSD
Tested on:		alpha, i386
Discussed on:		freebsd-standards@bostonradio.org
Reviewed by:		bde, fenner, obrien, wollman
2001-11-02 18:05:43 +00:00
Matthew Dillon
e8627df69d Add time_to_int(), int_to_time(), time_to_long(), long_to_time(). 2001-10-28 20:13:16 +00:00
Matthew Dillon
5b3817c60b Make the protocol/dumprestore.h header match restore's idea of the dump
header for the case where sizeof(time_t) != sizeof(int).  dumprestore.h
was embedding time_t when it should have been embedding int32_t.

Use time_to_time32() and time32_to_time() to convert between the
protocoll/file-format time and time_t.
2001-10-28 20:01:38 +00:00
Matthew Dillon
237c4e3a9e Add routines to convert time_t to/from fixed-bit fields. These routines
serve two purposes: (1) so we can maintain backwards compatibility with
protocols (rwhod, dump, etc...) that either assume time_t is 32 bits or
assume sizeof(time_t) == sizeof(int), or make other similar assumptions.
(2) To tag such routines (by the presence of these calls) for future
cleanup/extension work.

The 32->64 routine, time32_to_time() (when time_t is 64 bits, that is),
is defined specifically to implement temporal locality to properly set the
msb bits of a 64 bit time_t quantity, using the 50 year rule.  The locality
code has not been implemented yet (and doesn't need to be for a while),
but that is the intent.   This will allow us to maintain backwards protocol
compatibility past 2038.

These routines are intended to be platform and time_t agnostic.

MFC after:	1 week
2001-10-28 19:54:49 +00:00
Peter Wemm
8fcfcd18dd ll_time and ut_time are int32_t on disk and have to remain that way
unless we dont want to run 4.x binaries any more.
2001-10-27 20:40:54 +00:00
Mike Barcroft
c44a27673c Restore K&R prototype. Fix other style bugs.
Reviewed by:	asmodai, bde
2001-10-27 19:37:20 +00:00
Mark Murray
6fdd5473af Diff-reduce these two.
Really, one of them needs to disappear. I'll figure out which
later.

Reported by:	bde
2001-10-27 12:49:19 +00:00
Garrett Wollman
6811ccc9b3 Resume deorbit burn sequence for <malloc.h>. Inspection of my make logs
reveals no programs in the standard build which hit the previous warning
message.  This change will NOT be merged to 4-stable.
2001-10-25 02:35:29 +00:00
Jeroen Ruigrok van der Werven
8c825c1afd Add $FreeBSD$.
Change assert() macro to print failing function name.
Change K&R function prototype wrapper to ANSI prototype.
This makes us C99 conforming.
2001-10-24 18:10:37 +00:00
Bruce Evans
4546f9029c Fixed some style bugs:
- rev.1.6: corrupt tab before strlcpy.
- rev.1.7: "From: " in vendor id.
- rev.1.8: unsorted prototype for strccasestr.
2001-10-10 07:34:47 +00:00
Andrey A. Chernov
a7ad1caca8 Implement strcasestr() which many others (f.e. Linux) already have 2001-10-10 02:19:09 +00:00
Mike Barcroft
41036d782d Add a new libc function, strnstr(3), which allows one to limit the
number of characters that are searched.  This is especially useful
with file operations and non-NUL terminated strings.

Silence from:	-audit, -hackers
MFC after:	5 days
2001-10-09 01:29:56 +00:00
Bill Paul
e6f9ad0779 Add compatibility functions for the AF_LOCAL RPC transport stuff
that used to live in RPC 4.0. This is needed for yppasswd and
rpc.yppasswdd to work correctly. Patch supplied by Martin Blapp.
2001-10-04 21:03:17 +00:00
Bruce Evans
3e9c0bd52c Fixed order of includes. <sys/cdefs.h> must be included before
<machine/ansi.h> for the definition of __signed, unless the compiler
is gcc.

Moved the declaration of socklen_t up together with the declaration of
size_t, and removed low-quality comment about this declaration.  Declaring
socklen_t in this file is normal in POSIX-1.200x, unlike declaring size_t.
2001-10-04 10:34:30 +00:00
Bruce Evans
87bc118cfc Fixed some style bugs. 2001-10-04 07:39:14 +00:00
Bruce Evans
9b68c690f1 Fixed namespace pollution:
- only declare the application symbols specified in Posix.1-200x drafts,
  not everything in <sys/types.h> and <stddef.h>.
- don't use the application symbol 'm' for an arg name.
2001-10-04 07:37:57 +00:00
David E. O'Brien
6d14a7bf04 Back out WIP that snuck in with revs 1.15[23]. 2001-10-01 21:09:21 +00:00
David E. O'Brien
3f289a0678 Merge style with NetBSD -- ANSI-C prototypes, style(9) tabing, etc. 2001-10-01 21:07:33 +00:00
David E. O'Brien
002a632d81 Merge functional changes from NetBSD. 2001-10-01 21:06:25 +00:00
David E. O'Brien
757eeda04b *** empty log message *** 2001-10-01 08:43:58 +00:00
David E. O'Brien
c937411511 RFC2349 (http://www.hypermail.org/rfcs/rfc2349.html) adds support
for negotiation of timeout and file size to the tftp protocol.  This
is required by some firmware like EFI boot managers (at least on
HP i2000 Itanium servers) in order to boot an image using tftp.  The
attached patch implements the RFC, and in doing so also implements
RFC2347; a generic tftp option extension.

PR:		30710
Submitted by:	Espen Skoglund <esk@ira.uka.de>
2001-09-27 20:50:14 +00:00
Robert Watson
7c80f09bae o Update unistd.h with the prototype for the new eaccess(2) system call.
Obtained from:	TrustedBSD Project
2001-09-21 22:50:39 +00:00
Peter Wemm
d02cf26a56 Now that the compat4x libc.so.4 binary has been updated, we can finally
switch over to using a future-proof stdin/out/err.

Note that if you run 4.x binaries on your system, you will certainly
want to update /usr/lib/compat/libc.so.4.  The easiest way is to
add "COMPAT4X= yes" in your /etc/make.conf.
2001-09-20 08:47:41 +00:00
Peter Wemm
9119623471 Userland part of nfs client/server split and cleanup. 2001-09-18 23:34:44 +00:00
Peter Wemm
c7a6361316 Stop gcc's fixincludes making an exception for this file 2001-09-10 01:15:48 +00:00
Ruslan Ermilov
8203d6510c Sort FILES. 2001-09-06 07:27:03 +00:00
Alexey Zelkin
cc30da9d14 add monetary.h as per POSIX requirement 2001-09-05 18:50:56 +00:00
David E. O'Brien
1792335469 style(9) the structure definitions. 2001-09-05 01:36:46 +00:00
Mike Barcroft
9f5709b101 Revert previous delta; <arpa/inet.h> isn't quite ready to stop including
<sys/types.h>.
2001-08-31 03:29:48 +00:00
Mike Barcroft
c3ab2e6bc0 o Deprecate byteorder(3) prototypes from <sys/types.h>, these are
now prototyped indirectly in <arpa/inet.h>.
o Deprecate in_addr_t and in_port_t typedefs in <sys/types.h>, these
  are now typedef'd in <arpa/inet.h>.

Discussed with:	bde
PR:		29946
2001-08-31 03:12:01 +00:00
Dima Dorfman
e6063dd1a6 Implement getpeereid(3), a front-end to the LOCAL_PEERCRED
socket option for the Unix domain.  It's weaker than the
socket option (this only returns the uid and gid, while the
socket opt. can return the entire group list), and is
implemented mostly for compatibility with OpenBSD.
2001-08-17 22:09:15 +00:00
Peter Wemm
2b618987fe Rip out the old __stdin/out/err stuff. It was completely 100% useless. :-(
It was foiled because of dynamic copy relocations that caused compile-time
space to be reserved in .bss and at run time a blob of data was copied to
that space and everything used the .bss version..  The problem is that
the space is reserved at compile time, not runtime... So we *still* could
not change the size of FILE.  Sigh.  :-(

Replace it with something that does actually work and really does let us
make 'FILE' extendable.  It also happens to be the same as Linux does in
glibc, but has the slight cost of a pointer.  Note that this is the
same cost that 'fp = fopen(), fprintf(fp, ...); fclose(fp);' has.
Fortunately, actual references to stdin/out/err are not all that common
since we have implicit stdin/out/err-using versions of functions
(printf() vs. fprintf()).
2001-08-13 21:48:44 +00:00
Ruslan Ermilov
8af1452cf8 Removed duplicate VCS ID tags, as per style(9). 2001-08-13 14:06:34 +00:00
Jeroen Ruigrok van der Werven
a75b8f47d1 Remove comment, which didn't even help anyway.
Submitted by:	bde, long ago
2001-08-13 13:29:29 +00:00
Warner Losh
e54b5dd9ff Make the name parameter const char *. 2001-08-11 05:16:00 +00:00
Mike Heffner
75dc5f1a82 Rename the GLOB_MAXPATH flag of glob(3) to GLOB_LIMIT to be compatible
with NetBSD and OpenBSD. glob(3) will now return GLOB_NOSPACE with
errno set to 0 instead of GLOB_LIMIT when we match more than `gl_matchc'
patterns. GLOB_MAXPATH has been left as an alias of GLOB_LIMIT to
maintain backwards compatibility.

Reviewed by:	sheldonh, assar
Obtained from:	NetBSD/OpenBSD
2001-07-29 00:52:37 +00:00
Mike Barcroft
e5c24b8ebc Remove namespace pollution.
PR:		14327
Reviewed by:	des
Approved by:	des
MFC after:	7 days
2001-07-22 18:10:08 +00:00
Jason Evans
aa33517e94 Implement pthread_attr_[gs]etguardsize(). Non-default-size stacks used to
be malloc()ed, but they are now allocated using mmap(), just as the
default-size stacks are.  A separate cache of stacks is kept for
non-default-size stacks.

Collaboration with:	deischen
2001-07-20 04:23:11 +00:00
David E. O'Brien
115fef5637 VCS ID fixup 2001-07-10 17:50:46 +00:00
Ian Dowse
32de72d27f Add a new clnt_control() request `CLSET_CONNECT' that controls
whether or not connect(2) is used for UDP client sockets. The default
is not to connect(), so existing clients will see no change in
behaviour.

The use of connect(2) for UDP clients has a number of advantages:
only replies from the intended address are received, and ICMP errors
pertaining to the connection are reported back to the application.
2001-06-23 19:43:21 +00:00
Garrett Wollman
37336173d3 After one too many PRs on the subject, bite the bullet and define IOV_MAX
and its associated constants.  Implement _SC_IOV_MAX in the usual way.
Be a bit sloppy about the namespace question; this should get cleared up
in time for 5.0.

MFC after:	1 month
2001-06-18 20:24:54 +00:00
Peter Wemm
766ea92b74 Revise wording of osreldate.h vs kernel warning to make it clear that it
is a userland-only header.
2001-06-17 01:20:25 +00:00
Ruslan Ermilov
d28011e556 Added skeleton <complex.h> (aligned with the POSIX.1-200x), mostly
to fix the "-nostdinc WARNS=X" breakage caused by broken prototypes
for cabs() and cabsl() in <math.h>.

Reimplemented cabs() and cabsl() using new complex numbers types and
moved prototypes from <math.h> to <complex.h>.
2001-06-13 15:16:30 +00:00
Ruslan Ermilov
589ee357a4 Complete prototype for fts_compar. 2001-06-13 14:59:57 +00:00
Hajimu UMEMOTO
ce6282db3b Implement EDNS0 support, as EDNS0 support will be made mandatory for
IPv6 transport-ready resolvers/DNS servers.  Need careful configuration
when enable it. (default config is not affected).
See manpage for details.

XXX visible symbol __res_opt() is added, however, it is not supposed to be
called from outside, libc minor is not bumped.

Obtained from:	KAME/NetBSD
2001-06-10 20:25:24 +00:00
David E. O'Brien
fdd4e11d31 Update copyright. 2001-06-09 05:22:31 +00:00
Jonathan Lemon
86663b4425 Fix previous commit which inadverdently deleted a section. 2001-06-07 05:04:53 +00:00
Jonathan Lemon
88d74af548 Relocate IPFilter from sys/netinet to sys/contrib/ipfilter. 2001-06-07 04:06:21 +00:00
Joerg Wunsch
4dd07260ca Round #2 of the sys/isa/ic/ => sys/dev/ic/ move: install sys/dev/ic
as /usr/include/dev/ic.
2001-06-04 21:15:05 +00:00
Poul-Henning Kamp
c3154730b9 Remove MFS. 2001-05-29 20:26:51 +00:00
Robert Nordier
0f639cc8b0 Drop nested __P(). This trips up Supelec's dcc. 2001-05-27 19:57:36 +00:00
Ruslan Ermilov
8a8402d3a5 - sys/n[tw]fs moved to sys/fs/n[tw]fs
- /usr/include/n[tw]fs moved to /usr/include/fs/n[tw]fs
2001-05-26 11:57:45 +00:00
David E. O'Brien
f2e34a452a Include elf32.h and elf64.h to be more code compatable with Solaris. 2001-05-25 21:46:22 +00:00
Ruslan Ermilov
1166fb516b - sys/msdosfs moved to sys/fs/msdosfs
- msdos.ko renamed to msdosfs.ko
- /usr/include/msdosfs moved to /usr/include/fs/msdosfs
2001-05-25 08:14:14 +00:00
David E. O'Brien
640f0e5d3c Back out rev 1.4 (wint_t and mbstate_t) as I am tired of the complaints.
The STLport will probably become broken again, but I'll work on fixing it
later.

I wish someone would explain why the NetBSD Cirtus branch has the types
in their stddef.h...

Requested by:	bde, ru
PR:		27606
Submitted by:	Naohiko Tsuji <yakisoba@f2.dion.ne.jp>
2001-05-24 19:29:15 +00:00
Ruslan Ermilov
c260831833 Backout (almost) revision 1.137 changes.
Removal of LSYMSUBDIRS was a regression.

The purpose of LSYMSUBDIRS is to export only those /sys headers in the
SHARED=symlinks case that are also visible in the SHARED=copies case.

Requested by:	bde
2001-05-23 16:49:02 +00:00
Ruslan Ermilov
6949472556 Argh, unbreak SHARED=copied case. 2001-05-23 15:28:53 +00:00
Ruslan Ermilov
99d300a1ec - FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file
systems were repo-copied from sys/miscfs to sys/fs.

- Renamed the following file systems and their modules:
  fdesc -> fdescfs, portal -> portalfs, union -> unionfs.

- Renamed corresponding kernel options:
  FDESC -> FDESCFS, PORTAL -> PORTALFS, UNION -> UNIONFS.

- Install header files for the above file systems.

- Removed bogus -I${.CURDIR}/../../sys CFLAGS from userland
  Makefiles.
2001-05-23 09:42:29 +00:00
Ruslan Ermilov
7ec00975de Get rid of LSYMSUBDIRS by merely setting up symlinks to LNOHEADERDIRS. 2001-05-21 12:37:04 +00:00
Brian Somers
4be854757b Back out previous commit. digiio.h has moved to /usr/include/sys 2001-05-19 09:29:12 +00:00
David E. O'Brien
ada3b4c366 Add mbstate_t and wint_t. 2001-05-18 05:50:26 +00:00
Brian Somers
cf7134be6c Install /sys/dev/digi/digiio.h as /usr/include/dev/digi/digiio.h
I use the (new) DEVFILES variable rather than LSUBDIRS because
only the public interface (digiio.h) should be installed.
2001-05-17 01:42:34 +00:00
Ruslan Ermilov
c424b7d0c6 Install wchar.h and wctype.h.
Forgotten by:	tshiozak
2001-05-16 11:38:18 +00:00
Dima Dorfman
cd18ccdc30 Introduce getprogname(3) and setprogname(3) library calls. These get
and set __progname, respectively.

Discussed on:	-arch (Feb 2001), -audit
Reviewed by:	-audit
Approved by:	kris
Obtained from:	(mostly) NetBSD
2001-05-15 23:41:01 +00:00
Takuya SHIOZAKI
f3de575bc4 adapt to FreeBSD.
- add #define NULL 0 instead of sys/null.h.
- enable locale-insensitive functions:
	wcscat.c wcschr.c wcscmp.c wcscpy.c wcscspn.c wcslcat.c wcslcpy.c
        wcslen.c wcsncat.c wcsncmp.c wcsncpy.c wcspbrk.c wcsrchr.c wcsspn.c
	wcsstr.c wmemchr.c wmemcmp.c wmemcpy.c wmemmove.c wmemset.c
- disable some locale-sensitive functions defined in wchar.h temporarily:
	mbrlen mbrtowc mbsinit mbsrtowcs wcrtomb wcsrtombs wcwidth wcswidth
- disable all functions defined in wctype.h temporarily:
	is* tow*
2001-05-15 20:28:48 +00:00
Takuya SHIOZAKI
95a4049a9f initial import of wchar.h and wctype.h
Obtained from:	NetBSD and Citrus XPG4DL
2001-05-15 19:35:57 +00:00
David E. O'Brien
385789f562 Add elf.h header back, its existance is an SVR4-ELF tradition.
Our ELF hints bits are still a seperate file.

Requested by:	jdp
2001-05-06 16:39:57 +00:00
David E. O'Brien
5dc0b7cdd3 Add this header back, its existance is an SVR4-ELF tradition.
Our ELF hints bits are still a seperate file.

Requested by:	jdp
2001-05-05 19:40:26 +00:00
David E. O'Brien
5e6220d9d0 * include/elf.h has been repo copied to include/elf-hints.h, and it no
longer includes machine/elf.h.
* consumers of elf.h now use the minimalist elf header possible.

This change is motivated by Binutils 2.11.0 and too much clashing over
our base elf headers and the Binutils elf headers.
2001-05-02 23:56:21 +00:00
Andrey A. Chernov
99596f82de Move sranddev() to !ANSI_SOURCE !POSIX_SOURCE section
Pointed out by: bde
2001-04-23 09:32:06 +00:00
Andrey A. Chernov
cb541d8f97 Add sranddev() prototype 2001-04-23 02:29:51 +00:00
David E. O'Brien
ea88c01d6e Style(9) fixes:
* get rid of space (0x20) before tab (^I)
* indent with ^I, not 0x20
* continuation line for prototypes is for 0x20's past function's name col.
* etc.
2001-04-22 01:56:09 +00:00
Alfred Perlstein
603c86672c Implement client side NFS locks.
Obtained from: BSD/os
Import Ok'd by: mckusick, jkh, motd on builder.freebsd.org
2001-04-17 20:45:23 +00:00
Kris Kennaway
2b77cdeac1 I think this was supposed to be __const like in NetBSD: I have no idea
why I changed it to const.

Noticed by:	David Wolfskill <david@catwhisker.org>
2001-04-17 18:16:46 +00:00
Kris Kennaway
3d09054934 Add fmtcheck(), a function for checking consistency of format string
arguments where the format string is obtained from user data, or
otherwise difficult to verify statically.

Example usage:

printf(fmtcheck(user_format, standard_format), arg1, arg2);

checks the format string user_format for consistency (same number/order/
type of format operators) with standard_format.  If they differ,
standard_format is used instead to avoid potential crashes or security
violations.

Obtained from:  NetBSD
Reviewed by:    -arch
2001-04-17 07:59:52 +00:00
Boris Popov
6c9f45bdde Actually install include/fs/smbfs and include/netsmb directories. 2001-04-11 09:00:09 +00:00
Poul-Henning Kamp
5b32a38a1a It's not CUT (the french would accept that back in 1879) and TUC wasn't
palatable to the rest of the world.  UTC was the compromise.

PR:		26238
Submitted by:	Ying-Chieh Liao <ijliao@terry.dragon2.net>
2001-03-31 07:24:35 +00:00
Bill Paul
65d3c627a5 Add a CLSET_ASYNC command, which allows us to (ab)use the clnt_dg transport
to make asynchronous RPCs. This is needed to help fix ypbind, which can no
longer override the clnt_dg_call() method (formerly the clntudp_call()
method) due to all the internal descriptor locking code in TI-RPC. Turning
on this flag allows us to send an RPC request, then return immediately,
and handle a reply later, rather than being forced to do the request
and reply in a single function call.

Also fix a byte ordering bug: when clnt_dg_call() increments the XID
prior to transmitting a request, it uses the raw value, which is wrong.
The XID is stored in network byte order, i.e. big-endian. The CLSET_XID
and CLGET_XID commands in clnt_dg_control() use ntohl()/htonl() to get
the byte ordering right, but because clnt_dg_call() does not do this,
using CLSET_XID/CLGET_XID doesn't actually work, unless you're on a
big endian host, which we aren't (yet). Fix clnt_dg_call() to byte swap
properly when doing the increment.
2001-03-27 21:27:33 +00:00
Alfred Perlstein
8f15078110 give the "netgrent" functions a home in netdb.h 2001-03-27 09:49:03 +00:00
Alfred Perlstein
40c10ffdbd const'ify 2001-03-27 09:43:09 +00:00
Alfred Perlstein
1e799f5341 fix: text following `#else' violates ANSI standard
Pointed out by: ${BDECFLAGS}
2001-03-26 00:35:23 +00:00
Hajimu UMEMOTO
2da24fa6e9 IPv4 address is not unsigned int. This change introduces in_addr_t.
PR:		9982
Adviced by:	des
Reviewed by:	-alpha and -net (no objection)
Obtained from:	OpenBSD
2001-03-23 18:59:31 +00:00
Alfred Perlstein
cc74aaddad change callrpc() from taking "char *" args, I'm quite sure they really meant
to use "void *".

remove a duplicate prototype for callrpc() from libexec/ypxfr/ypxfr_extern.h
2001-03-23 16:14:49 +00:00
Alfred Perlstein
922ed94923 forgot prototyle for __rpc_get_local_uid() 2001-03-22 18:44:57 +00:00
Alfred Perlstein
87800257b0 Unbreak LINT.
because rpcb_clnt.h is generated during buildworld and only installed into
/usr/include/rpc (and not present in src/include/rpc) we can fix it
by simply not including it when _KERNEL is defined.

this isn't the most elegant, way and might deserve some revisiting later.

Pointed out by: bde
2001-03-20 10:27:03 +00:00
Alfred Perlstein
edea2cc391 The TI-RPC spammed over a '#ifdef _KERNEL' hack for the xdrproc_t typedef
revert the spammage

Pointed out by: bde
2001-03-20 08:26:22 +00:00
Alfred Perlstein
3e86de8d2c comment out #pragma directive containing Sun SCM tags 2001-03-20 08:20:50 +00:00
Alfred Perlstein
f91b492ae4 Add missing comma when KERBEROS is defined. 2001-03-19 19:36:11 +00:00
Jonathan Lemon
bae8632f82 Introduce the GLOB_MAXPATH flag, which allows the user to limit the
number of paths which glob(3) will return.  Remove the hardcoded limit
from the last commit, which restores the previous unbounded behavior.

Document the new flag in the manual page.
2001-03-19 19:10:06 +00:00
Alfred Perlstein
8360efbd6c Bring in a hybrid of SunSoft's transport-independent RPC (TI-RPC) and
associated changes that had to happen to make this possible as well as
bugs fixed along the way.

  Bring in required TLI library routines to support this.

  Since we don't support TLI we've essentially copied what NetBSD
  has done, adding a thin layer to emulate direct the TLI calls
  into BSD socket calls.

  This is mostly from Sun's tirpc release that was made in 1994,
  however some fixes were backported from the 1999 release (supposedly
  only made available after this porting effort was underway).

  The submitter has agreed to continue on and bring us up to the
  1999 release.

  Several key features are introduced with this update:
    Client calls are thread safe. (1999 code has server side thread
    safe)
    Updated, a more modern interface.

  Many userland updates were done to bring the code up to par with
  the recent RPC API.

  There is an update to the pthreads library, a function
  pthread_main_np() was added to emulate a function of Sun's threads
  library.

  While we're at it, bring in NetBSD's lockd, it's been far too
  long of a wait.

  New rpcbind(8) replaces portmap(8) (supporting communication over
  an authenticated Unix-domain socket, and by default only allowing
  set and unset requests over that channel). It's much more secure
  than the old portmapper.

  Umount(8), mountd(8), mount_nfs(8), nfsd(8) have also been upgraded
  to support TI-RPC and to support IPV6.

  Umount(8) is also fixed to unmount pathnames longer than 80 chars,
  which are currently truncated by the Kernel statfs structure.

Submitted by: Martin Blapp <mb@imp.ch>
Manpage review: ru
Secure RPC implemented by: wpaul
2001-03-19 12:50:13 +00:00
Andrey A. Chernov
8957c348ee Add D_MD_ORDER (local extension) to get month/day order from locale 2001-03-19 11:53:34 +00:00
Hajimu UMEMOTO
69b58b037c Nuke non-standard EAI_RESNULL. 2001-03-17 14:25:23 +00:00
David E. O'Brien
8454c72c24 Move _PATH_DEFTAPE to <paths.h> to remove all the duplication of definitons,
and remove leading `r'(aw) from it.
2001-03-08 09:04:40 +00:00
Alfred Perlstein
86e03b89bb mark pthread_exit() as non-returning.
Requested by: Farooq Mela <fmela0@sm.socccd.cc.ca.us>
2001-03-04 22:17:52 +00:00
Daniel Eischen
45d8008748 Hide the definition of struct __sFILEX and add the needed
lock definitions to it.  flockfile state is now allocated
along with the rest of FILE.  This eliminates the need for a
separate allocation of flockfile state as well as eliminating
the mutex/lock used to serialize its allocation.
2001-03-01 05:22:14 +00:00
David E. O'Brien
4c0440cb86 Impliment the ISO-C99 strto[u]ll()
and rewrite strto[u]q() in terms of it.
2001-02-27 13:33:07 +00:00
Hajimu UMEMOTO
928268064f Enable AI_ADDRCONFIG as a valid flag of getaddrinfo(3). Some
applications specify AI_ADDRCONFIG and fail to run under FreeBSD.
Latest mews is known.  Now, getaddrinfo(3) behaves according to
AI_ADDRCONFIG.
2001-02-19 13:13:51 +00:00
Peter Wemm
44cde775ae Be extra certain that "#include <osreldate.h>" must not be used in
kernel code.
2001-02-18 20:44:06 +00:00
Warner Losh
91e1be28dc 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
Hajimu UMEMOTO
ad9fdc8f4d Correct 2nd argument of getnameinfo(3) to socklen_t.
Reviewed by:	itojun
2001-02-15 10:35:55 +00:00
Peter Wemm
ff9dc074b5 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 Wemm
56f98998e9 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 Wemm
9b8ff47f40 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
Daniel Eischen
5b62961a49 libc MT-safety, part 2.
Add a lock to FILE and define an additional flag.
2001-02-11 22:04:18 +00:00
Alexey Zelkin
2eeaef6eea add langinfo.h 2001-02-08 17:14:28 +00:00
Alexey Zelkin
60e1d74ff8 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
Jeroen Ruigrok van der Werven
5728844663 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
Jeroen Ruigrok van der Werven
a3573c6679 Fix typo: compatability -> compatibility.
Compatability is not an existing english word.

Add $FreeBSD$.
2001-02-06 12:04:54 +00:00
Jeroen Ruigrok van der Werven
9a01d32bfd 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
Bruce Evans
8d6ca77c4c Declare strunvisx(). 2001-02-06 01:15:32 +00:00
Daniel Eischen
f9447cd112 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 Wemm
0b06558520 Move MD <machine/if_wavelan_ieee.h> to MI <dev/wi/if_wavelan_ieee.h> 2001-01-09 00:50:45 +00:00
Sheldon Hearn
3e27dc3164 Remove struct.h, which has been punted into the Attic. 2001-01-03 12:35:39 +00:00
Poul-Henning Kamp
4d25a384ce Finally put this mistake to rest. 2001-01-03 10:04:45 +00:00
Daniel Eischen
5bbc321312 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
Poul-Henning Kamp
fabacd3a11 Use TAILQ instead of CIRCLEQ. 2000-12-29 20:25:01 +00:00
Jason Evans
d57caa9b95 Remove prototypes for pthread_attr_[gs]etfloatstate(), which we don't
implement.
2000-12-28 18:46:21 +00:00
Daniel Eischen
10d1cba0bf 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
David E. O'Brien
1a37aa566b Add `_PATH_DEVZERO'.
Use _PATH_* where where possible.
2000-12-09 09:35:55 +00:00
Daniel Eischen
9b8551d0a5 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
Poul-Henning Kamp
82e078d8f9 Make <struct.h> #error instead of #warn that it is going away on jan 1st. 2000-12-01 22:15:56 +00:00
Alfred Perlstein
702665c754 remove unneeded sys/ucred.h include 2000-11-30 18:33:02 +00:00
Jeroen Ruigrok van der Werven
e5c020bf4f 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
Poul-Henning Kamp
798c1fd885 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
Poul-Henning Kamp
46aa3347cb 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 Somers
ebe53e9e4e Add netnatm to LDIRS
Submitted by:	Makoto MATSUSHITA <matusita@jp.FreeBSD.org>
2000-10-16 07:00:18 +00:00
David Malone
fc39509245 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
John Polstra
362a3eadeb Add a definition for RTLD_DEFAULT. 2000-09-19 04:24:50 +00:00
John Polstra
0824e46a71 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
Jeroen Ruigrok van der Werven
8cf0402e5d Welcome stdbool.h. A header file from the ANSI C99 specification.
It defines the boolean values.
2000-09-16 07:28:44 +00:00
Andrey A. Chernov
40a9e71856 Use MTREE_FOLLOWS_SYMLINKS option
This is part of whole subsystem fixing

Reviewed by:	imp
2000-09-15 08:08:04 +00:00
Ruslan Ermilov
3e8d5c239e 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 Wemm
9bb715b7fd 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
Jacques Vidrine
248aee623c 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 Somers
9feac5c218 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
Dag-Erling Smørgrav
1250db8139 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
Brian Feldman
04c9749ff0 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
John Baldwin
0e8911b395 Revert gratuitous whitespace changes from revisions 1.111 and 1.112. 2000-08-17 07:51:48 +00:00
Peter Wemm
253fafca68 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 Moolenaar
11017a687b 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
Nick Sayer
e9e8de0698 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
Andrey A. Chernov
043ada1051 Add -L to mtree 2000-07-16 08:19:49 +00:00
Alfred Perlstein
e31830e941 fix spelling errors.
Pointed out by: bde
2000-07-07 16:52:24 +00:00
Alfred Perlstein
55241422d6 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
Jun-ichiro itojun Hagino
23ba01423e 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 Moschuk
e63a7af508 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 Perlstein
64566a3e2a bring in binary search tree code.
Obtained from: NetBSD
2000-07-01 06:55:11 +00:00
Nick Sayer
cbe8602290 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
Josef Karthauser
c5bb91d1b2 Add strtofflags and fflagstostr to libc. 2000-06-17 11:55:57 +00:00
Jake Burkholder
e39756439c 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 Burkholder
740a1973a6 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 Wemm
f612e24f9e Install /usr/include/dev/ppbus as well as dev/usb 2000-05-19 22:08:18 +00:00
Bruce Evans
80a07932e7 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
John Baldwin
bde8875a06 Finish moving all IEEE fp types to be the same on all arch's. 2000-05-10 19:41:40 +00:00
David E. O'Brien
8d1d19d347 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
Jonathan Lemon
83a15ece20 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
Jonathan Lemon
6fad667de2 Create <event.h> -> <sys/event.h> link that I forgot earlier.
Reminded by:	ache
2000-04-16 22:31:49 +00:00
Ruslan Ermilov
3021afb53e 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
Jason Evans
60ad8853e0 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
David E. O'Brien
f506ed7467 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
Yoshinobu Inoue
12cefbcc20 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
Josef Karthauser
418d67b0d9 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
Yoshinobu Inoue
e3be4d7b7e 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
John Polstra
8a889bcb26 Add a #define for RTLD_LOCAL as required by the Single Unix
Specification.
2000-01-29 01:53:35 +00:00
Josef Karthauser
18c0eeddf7 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 Wemm
4ba5197729 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 Wemm
400dc95012 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
Yoshinobu Inoue
469bed11ef 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
Yoshinobu Inoue
0cac72f42c 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
Nick Hibma
fcc56d9930 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 Wemm
d60809caa9 Add prototypes for [sg]etres[ug]id(). 2000-01-17 13:32:55 +00:00
Bruce Evans
a5341e911c Fixed disordering, misformatting, and duplicate declaration of
iruserok_af() in previous commit.
2000-01-14 15:43:27 +00:00
Yoshinobu Inoue
42b4f28ebd 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
Daniel Eischen
3eadb69d1f 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
John Polstra
4fba53a082 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 Wemm
c447342094 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
John Polstra
3600eb76c6 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
Yoshinobu Inoue
7d56d3747c 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
John Polstra
d3980376e8 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
Bruce Evans
de7067ac25 Fixed missing declaration of ctermid_r(3). 1999-12-23 16:33:12 +00:00