Commit Graph

1100 Commits

Author SHA1 Message Date
Hajimu UMEMOTO
06a99fe36f - Extend the nsswitch to support Services, Protocols and Rpc
databases.
- Make nsswitch support caching.

Submitted by:	Michael Bushkov <bushman__at__rsu.ru>
Sponsored by:	Google Summer of Code 2005
2006-04-28 12:03:38 +00:00
Daniel Eischen
28c94ec4cb Add a prototype for fcloseall(). 2006-04-22 15:10:11 +00:00
Hajimu UMEMOTO
d3ac2b30d4 - make reentrant version of netdb functions glibc style API, and
expose them to outside of libc.
- make netdb functions NSS friendly.

Reviewed by:	arch@ and current@ (no objection)
2006-04-15 16:20:27 +00:00
John Birrell
992879a026 Copy the new CLOCK_ defines from sys/time.h for SUSv3 compatibility.
Approved by: rwatson
2006-04-15 03:08:55 +00:00
Hajimu UMEMOTO
eb27a220f8 Expose res_update and friends again. At least, ports/mail/spamilter
uses them.
Now, we have res_nupdate and res_nmkupdate as well, but they are
still based on our old resolver for binary backward compatibility.
So, they don't provide new features such as TSIG support.

Reported by:	pointyhat via kris
2006-03-30 20:15:53 +00:00
Jason Evans
6b2c15da6a Add malloc_usable_size(3).
Discussed with:		arch@
2006-03-28 22:16:04 +00:00
Hajimu UMEMOTO
5342d17f09 Update the resolver in libc to BIND9's one.
Since, res_sendsigned(3) and the friends use MD5 functions, it is
hard to include them without having MD5 functions in libc.  So,
res_sendsigned(3) is not merged into libc.

Since, res_update(3) in BIND9 is not binary compatible with our
res_update(3), res_update(3) is leaved as is, except some
necessary modifications.
The res_update(3) and the friends are not essential part of the
resolver.  They are not defined in resolv.h but defined in
res_update.h separately in BIND9.  Further, they are not called from
our tree.  So, I hide them from our resolv.h, but leave them only
for binary backward compatibility (perhaps, no one calls them).

Since, struct __res_state_ext is not exposed in BIND9, I hide it
from our resolv.h.  And, global variable _res_ext is removed.  It
breaks binary backward compatibility.  But, since it is not used from
outside of our libc, I think it is safe.

Reviewed by:	arch@ (no objection)
2006-03-21 16:11:11 +00:00
Ruslan Ermilov
cea557add0 Extend coverage of the MK_IPX build option to the following:
- <netipx> headers [1]
- IPX library (libipx)
- IPX support in ifconfig(8)
- IPXrouted(8)
- new MK_NCP option

New MK_NCP build option controls:

- <netncp> and <fs/nwfs> headers
- NCP library (libncp)
- ncplist(1) and ncplogin(1)
- mount_nwfs(8)
- ncp and nwfs kernel modules

User knobs: WITHOUT_IPX, WITHOUT_IPX_SUPPORT, WITHOUT_NCP.

[1] <netsmb/netbios.h> unconditionally uses <netipx> headers
so they are still installed.  This needs to be dealt with.
2006-03-20 14:24:58 +00:00
Robert Watson
013f1b341e Merge Perforce change 93569 from TrustedBSD audit3 branch:
Do install sys/security/audit include files.  It would be nice just
  to install audit_ioctl.h, but we seem only to support installing
  directories, so we get them all.  The two not intended for extra-
  kernel use have !_KERNEL #error's, which should help.

Obtained from:	TrustedBSD Project
2006-03-19 15:44:53 +00:00
Ruslan Ermilov
e1fe3dba5c Reimplementation of world/kernel build options. For details, see:
http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by:	imp, jhb, kris, phk, ru (all bugs are mine)
2006-03-17 18:54:44 +00:00
Andre Oppermann
c74dfa2faf Import of OpenBSD's strtonum(3) which is a nicer version of strtoll(3)
providing proper error checking and other improvements.

Obtained from:	OpenBSD
Requested by:	flz (to port Open[BGP|OSPF]D)
MFC after:	3 days
2006-03-14 16:57:30 +00:00
Ruslan Ermilov
5f0c9ae10a Hopefully fix all nearby style bugs that Bruce has mentioned. 2006-03-10 11:07:39 +00:00
Ruslan Ermilov
6549999b97 - Fix variable assignment to be portable.
- "Line up" continuations.

Submitted by:	bde
2006-03-10 11:00:11 +00:00
Hajimu UMEMOTO
a18487548f ns_name_skip was not prefixed by `__'.
Obtained from:	BIND9
2006-03-09 03:47:11 +00:00
Poul-Henning Kamp
f3fede8ab9 Add nested include of <wchar.h> 2006-03-02 10:01:52 +00:00
Daniel Eischen
0411773be7 Const'ify arguments to a couple of functions to fix breakage
with -O2.
2006-02-28 16:02:26 +00:00
Hajimu UMEMOTO
f9ad25aace Decrease the value of RES_DFLRETRY from 4 to 2.
PR:		bin/62139
Reported by:	Rostislav Krasny <rosti.bsd__at__gmail.com>
Obtained from:	BIND9
MFC after:	1 week
2006-02-24 17:00:50 +00:00
David Xu
d56a014b6e Introduce a new proc service routine ps_linfo() to get LWP info. 2006-02-07 02:29:55 +00:00
Poul-Henning Kamp
8dcefe6112 Remove spurious "union arg" from printf.h
Make sure to always print something in the alternate time format.
2006-02-04 14:35:01 +00:00
Stefan Farfeleder
3acb8d3f94 Analogous to __printflike and __scanflike, add the macro __format_arg which
expands to the GCC format_arg attribute if supported.

This fixes a syntax error in <nl_types.h> for compilers/tools not
implementing the GCC __attribute__ extensions.
2006-01-26 20:53:40 +00:00
Poul-Henning Kamp
6dbacee284 Make the %V{is} extension handle a NULL pointer like %s does: output "(null)"
Add %M{essage} extension which prints an errno value as the
corresponding string if possible or numerically otherwise.

It is not currently possible to do the syslog(3) like %m extension
because errno would need to get capatured on entry to the first
function in the printf family, so %M requires you to supply errno
as an argument.

Add %Q{uote} extension which will print a string in double quotes with
appropriate back-slash escapes (only) if necessary.
2006-01-25 12:45:24 +00:00
Jason Evans
b3d51d3afc Expose the posix_memalign() prototype, now that the function is implemented
by libc.
2006-01-12 07:58:59 +00:00
Doug Rabson
c0b9f4fe65 Add a new extensible GSS-API layer which can support GSS-API plugins,
similar the the Solaris implementation. Repackage the krb5 GSS mechanism
as a plugin library for the new implementation. This also includes a
comprehensive set of manpages for the GSS-API functions with text mostly
taken from the RFC.

Reviewed by: Love Hörnquist Åstrand <lha@it.su.se>, ru (build system), des (openssh parts)
2005-12-29 14:40:22 +00:00
Tom Rhodes
257551c6a0 Add a64l(), l64a(), and l64a_r() XSI extentions. These functions convert
between a 32-bit integer and a radix-64 ASCII string.  The l64a_r() function
is a NetBSD addition.

PR:		51209 (based on submission, but very different)
Reviewed by:	bde, ru
2005-12-24 22:37:59 +00:00
Poul-Henning Kamp
866196b69d Add abort2() prototype 2005-12-23 12:28:10 +00:00
Alexander Kabaev
0eb88f2029 Implement ELF symbol versioning using GNU semantics. This code aims
to be compatible with symbol versioning support as implemented by
GNU libc and documented by http://people.redhat.com/~drepper/symbol-versioning
and LSB 3.0.

Implement dlvsym() function to allow lookups for a specific version of
a given symbol.
2005-12-18 19:43:33 +00:00
Poul-Henning Kamp
75067f4f70 Add an extensible version of our *printf(3) implementation to libc
on probationary terms:  it may go away again if it transpires it is
a bad idea.

This extensible printf version will only be used if either
    environment variable USE_XPRINTF is defined
or
    one of the extension functions are called.
or
    the global variable __use_xprintf is set greater than zero.

In all other cases our traditional printf implementation will
be used.

The extensible version is slower than the default printf, mostly
because less opportunity for combining I/O operation exists when
faced with extensions.  The default printf on the other hand
is a bad case of spaghetti code.

The extension API has a GLIBC compatible part and a FreeBSD version
of same.  The FreeBSD version exists because the GLIBC version may
run afoul of our FILE * locking in multithreaded programs and it
even further eliminate the opportunities for combining I/O operations.

Include three demo extensions which can be enabled if desired: time
(%T), hexdump (%H) and strvis (%V).

%T can format time_t (%T), struct timeval (%lT) and struct timespec (%llT)
   in one of two human readable duration formats:
	"%.3llT" -> "20349.245"
	"%#.3llT" -> "5h39m9.245"

%H will hexdump a sequence of bytes and takes a pointer and a length
   argument.  The width specifies number of bytes per line.
	"%4H" -> "65 72 20 65"
	"%+4H" -> "0000 65 72 20 65"
	"%#4H" -> "65 72 20 65  |er e|"
	"%+#4H" -> "0000 65 72 20 65  |er e|"

%V will dump a string in strvis format.
	"%V" -> "Hello\tWor\377ld"	(C-style)
	"%0V" -> "Hello\011Wor\377ld"	(octal)
	"%+V" -> "Hello%09Wor%FFld"	(http-style)

Tests, comments, bugreports etc are most welcome.
2005-12-16 18:56:39 +00:00
Peter Wemm
7bb2af36b7 Fix ypwhich -m. This should be MFC'ed back at least as far as RELENG_5.
Submitted by: Gil Kloepfer <gil@arlut.utexas.edu>
PR: 64445
2005-12-06 02:01:06 +00:00
David Xu
ea8fe575cd barrier and spin_lock had already been implemented in libpthread and
libthr for a long time, set both _POSIX_BARRIERS and _POSIX_SPIN_LOCKS
to 200112L.
2005-12-02 02:36:13 +00:00
Ruslan Ermilov
1332b4bd91 Install the mqueue.h header. 2005-12-01 21:46:01 +00:00
David Xu
1f4ae9be57 Fix compiling for c++, include cdefs.h. 2005-11-30 07:26:36 +00:00
Craig Rodrigues
a8c06a09c4 Remove commented out reference to posix4/mqueue.h. It hasn't been installed
for 3 years, and now we have another (working) implementation
of POSIX message queues elsewhere in the source tree.
2005-11-28 03:21:58 +00:00
David Xu
c6678cae14 Bring in POSIX message queue header file. 2005-11-26 12:55:36 +00:00
Ruslan Ermilov
52fbcc15a0 Revert last revision, strmode() should be moved to <unistd.h> to be
properly fixed.
2005-11-24 08:30:44 +00:00
Ruslan Ermilov
20d91f5626 Fix prototype to match the code and documentation. 2005-11-24 07:20:26 +00:00
Ruslan Ermilov
fee45c0c38 Fix prototype of strmode() to match the code and documentation. 2005-11-24 06:59:35 +00:00
Xin LI
b0f3cf4492 Since speaker.h now lives in sys/dev/speaker, reflect this fact here. 2005-11-11 16:48:01 +00:00
David Xu
bd3e40ce72 Add POSIX timer interfaces. 2005-10-30 03:15:05 +00:00
David Xu
02ea638732 Add prototype for following functions, plus tab fixes.
pthread_condattr_getpshared
	pthread_condattr_setpshared
	pthread_mutexattr_getpshared
	pthread_mutexattr_setpshared
2005-10-24 05:53:54 +00:00
David Xu
d2c8dd81be Use __pid_t instead of pid_t for sigqueue as other functions. 2005-10-16 22:23:03 +00:00
David Xu
05e72fac12 Add sigqueue function prototype. 2005-10-14 13:12:27 +00:00
David Xu
a48182f787 Add pthread_timedjoin_np prototype. 2005-10-04 07:23:56 +00:00
Scott Long
6fa40729c8 Add the lmcconfig tool for controlling the lmc driver. Add man pages and
glue.

Submitted by: David Boggs
2005-10-03 07:09:41 +00:00
Stefan Farfeleder
efe444ea48 Back out 1.247. On ia64 <osreldate.h> is included from assembler source,
the prototype broke buildword.

Noticed by:	marcel
2005-09-14 09:01:06 +00:00
Stefan Farfeleder
e0970cbd7f Put a getosreldate() prototype into <osreldate.h>, getosreldate(3) implies
there is one.
2005-09-12 16:11:48 +00:00
Stefan Farfeleder
9d301680d6 Fix the prototypes for devname() and devname_r(), the first two argument
types are supposed to be dev_t and mode_t (prefixed with __ due to
namespace reasons).
2005-09-12 15:58:15 +00:00
Stefan Farfeleder
533dcdacf1 Don't declare ___res_ext() twice. 2005-09-12 15:53:28 +00:00
Stefan Farfeleder
323abbb7ce Improve POSIX conformance:
- Don't pollute the namespace by including <sys/types.h>, <sys/time.h>,
  <sys/signal.h> and <limits.h>.  Use __MINSIGSTKSZ and __ULONG_MAX from
  <machine/_limits.h>, __sigset_t from <sys/_sigset.h> instead.
- Include <time.h> because POSIX says we have to.

PTHREAD_{DESTRUCTOR_ITERATIONS,KEYS_MAX,STACK_MIN,THREADS_MAX} should
eventually move to <limits.h> but are left here for now.

Discussed on:	standards@, threads@
2005-09-01 15:33:22 +00:00
Andre Oppermann
da506dcad2 Appropriate namespace protection for memmem(3).
Submitted by:	wollman
MFC after:	3 days
2005-08-25 19:46:38 +00:00
Andre Oppermann
6050c8fe05 Add the function memmem(3) as found in glibc and others.
It is the binary equivalent to strstr(3).

 void *memmem(const void *big, size_t big_len,
	const void *little, size_t little_len);

Submitted by:	Pascal Gloor <pascal.gloor at spale.com>
MFC after:	3 days
2005-08-25 18:26:58 +00:00