Commit Graph

385 Commits

Author SHA1 Message Date
Warner Losh
94ad719cf4 Add reallocf to the library. This function is simliar to realloc, but
when it returns NULL to indicate failure, it will also free the memory
that was passed to it, if that was non-null.

This does not change the semantics of realloc.

A second commit will be done to commit the conversion of those places in
the code that can safely use this to avoid memory leaks when confronted
with low memory situations.

Beaten-to-death-but-finally-approved-in: -current
1998-09-14 20:34:34 +00:00
Dmitrij Tejblum
f0cefaccae Change return type of strptime from const char* to char*.
const char* was wrong and nonstandard.
1998-09-12 21:13:29 +00:00
Garrett Wollman
b4b4fb871e A small last-minute iitem for 3.0:
- Fix some style errors I made back in 1995.

- Add a new flavor of the err(3) family, which takes an explicit
  errno argument rather than implicitly examining errno.  This
  will make it easier to use these functions in conjunction with
  modern library interfaces that return an errno value explicitly.
1998-09-12 21:02:22 +00:00
KATO Takenori
c2c43bd135 Change i386 in a few paths to ${MACHINE} to support MACHINE=pc98. 1998-09-09 11:13:55 +00:00
John Polstra
cfa4d73988 Add a new library function getobjformat(). It checks all the
standard places ("/etc/objformat", ${OBJFORMAT}, argv) for an
indication of the user's preferred object file format.  This
consolidates some code that was starting to be duplicated in more
and more places.

Use the new function in ldconfig.

Note: I don't think that gcc should use getobjformat(), even though
it could.  The compiler should limit itself to functions that are
widespread, to ease porting and cross-compilation.
1998-09-09 01:21:25 +00:00
David E. O'Brien
c304ad8a23 Add support for the RPC 64-bit integer type ``hyper''. 1998-09-08 17:33:12 +00:00
Brian Somers
d54358ffe5 Remove the extern decl of ``h_errno''. It's already
externed in netdb.h - where all of its #define values
live.  If anything requires h_errno here (nothing in
/usr/src seems to) it's almost definitely broken.
1998-09-07 19:54:08 +00:00
Alexander Langer
c0e366326f Implement pthread read/write locks as defined by Version 2 of the Single
UNIX Specification.

As with our standard mutexes, process shared locks are not supported at
this time.
1998-09-07 19:01:43 +00:00
David E. O'Brien
8a2d7d2231 Fix tons of cut-n-paste errors in the WANT_NFS3 code. 1998-09-06 09:21:35 +00:00
John Polstra
512a3bb59b Add hints file structures and defines. 1998-09-05 00:53:53 +00:00
John Birrell
5520d4646e Add the prototype for sigwait(). 1998-08-25 11:08:22 +00:00
Joseph Koshy
2bd323977f Add extern declaration for `tzname[]' to make this header comply better
to POSIX90.

2-rounds-of-review-by: bde
1998-08-21 01:21:26 +00:00
Doug Rabson
c989e80e4d Move the include of <machine/ansi.h> to before <sys/signal.h>. 1998-08-05 08:51:48 +00:00
Bruce Evans
6c12aec065 Fixed garbage after comment after #endif. Fixed reversed sense of same
comment.
1998-08-03 10:59:02 +00:00
Alexander Langer
0c20d79391 Added iso646.h as defined by the Single UNIX Specification, version 2. 1998-08-01 13:42:12 +00:00
Jordan K. Hubbard
52c5909ee2 MF22: prototype fix. 1998-07-16 00:10:14 +00:00
Bruce Evans
748993b899 Added macros __printflike() and __scanflike() to <sys/cdefs.h>.
Use them to `make gcc -Wformat' check formats for all printf-like
and scanf-like functions in /usr/src except for the err()/warn()
family.  err() isn't quite printf-like since its format arg can
legitimately be NULL.  syslog() isn't quite printf-like, but gcc
already accepts %m, even for plain printf() when it shouldn't.
1998-07-13 06:45:23 +00:00
Bruce Evans
2a54d8ef6b Fixed whitespace lossage and long lines in previous commit. 1998-07-11 13:25:09 +00:00
Dmitrij Tejblum
6c0a7ecfd4 Declare lockf(). 1998-07-08 15:14:48 +00:00
Peter Wemm
b5fe8fabda New flag for internal stdio use to enable dynamic string allocation for
asprintf() implementation.

Obtained from: Todd Miller <Todd.Miller@courtesan.com> via OpenBSD
1998-07-08 00:52:40 +00:00
Bruce Evans
ed9c039078 Complete the switch to using gcc-2.4 features to declare fpos_t ,
as threatened in the 4-5 year old comment.  Most of the change is
in <machine/ansi.h>; this commit just removes cruft for the strict
ANSI case.  64-bit types couldn't actually be defined using
__attribute__(()) in gcc-2.4, since attribute names in the
implementation namespace only became available in gcc-2.7.  I've
probably just broken gcc-2.6 support by using the gcc-2.7 names
unconditionally.
1998-06-14 16:04:20 +00:00
Peter Wemm
71e8a85c73 Damn, bind8 includes added <arpa/nameser.h> as a prerequisite for
<resolv.h>.  This breaks user ppp at least, and goodness knows how
many ports. :-(

This a bit of a hack, but is probably simpler than duplicating the
typedefs and protecting them from each other.

Also, remove some temporary XXX notes that I forgot to remove before.
1998-06-11 12:52:45 +00:00
Peter Wemm
a28ce30ec5 Install arpa/nameser_compat.h 1998-06-11 08:56:40 +00:00
Peter Wemm
0160f9c065 Update nameserver interface to bind-8.1.2 levels. We do not use IRS (yet?)
since it has far wider impact than hostname lookups (including passwords).
Note that this has more ugly symbol hiding and binary compatability hacks
that can go away the second we bump majors.

Obtained from:  Mostly from diff against ISC bind-8.1.2 sources
1998-06-11 08:55:17 +00:00
Poul-Henning Kamp
8afeddf0a8 This is a prototype implementation of the draft-mogul-pps-api-##.txt
paper.

It will be updated along with the draft and possible subsequent
standard.

The ppbus based pps driver is updated to implement this API.
1998-06-07 19:44:22 +00:00
Doug Rabson
12d68e37f9 Add GDB support for ELF shared libs. 1998-05-23 15:17:53 +00:00
Eivind Eklund
3933c622cd Move __FreeBSD_version from src/sys/conf/newvers.sh to
src/sys/sys/param.h, to facilitate access from the kernel.  This make
it possible to do outside kernel development and have it actually work
properly.
1998-05-21 19:21:46 +00:00
Peter Wemm
d919f8a34a nuke signanosleep(). 1998-05-14 11:33:04 +00:00
John Birrell
d3a0338880 Change the return types for strtoq and strtouq to int64_t and u_int64_t
instead of long long and unsigned long long. Really they should be
quad_t and u_quad_t, but that would require sys/types.h and this
header only includes machine/types.h. The difference here is that
int64_t and u_int64_t on alpha are long and unsigned long, not
long long etc. This is required to pass gcc's type checking where
long != long long even though they are the same size of alpha.
1998-05-11 09:22:21 +00:00
John Birrell
9f74bac921 ut_time is a time_t, not a long. 1998-05-10 21:13:30 +00:00
John Birrell
351c800a5e I have a long list of issues to address here, mostly related to
namespace and revision levels of ANSI and POSIX. This change only
removes the leading underscrore from the FILE locking functions
that POSIX defines.
1998-05-05 21:59:19 +00:00
Andrey A. Chernov
3f5fb4817a Prototypes/typedefs cleanup
Add NL_CAT_LOCALE (will be implemented soon)
1998-04-30 10:09:58 +00:00
Andrey A. Chernov
0b5e953b91 Basic support for LC_MESSAGES 1998-04-29 22:39:56 +00:00
Brian Somers
42c0f1c9e0 Remove duplicate decls
Not objected to by: freebsd-hackers
1998-04-19 15:28:08 +00:00
Poul-Henning Kamp
3f643d87bb ctime_r and asctime_r are not implemented.
prototypes in time.h do not match POSIX.

PR:		6345
Reviewed by:	phk
Submitted by:	Dmitry Khrustalev <dima@xyzzy.machaon.ru>
1998-04-19 06:47:25 +00:00
John Birrell
297263b079 Format changes in an attempt to address some of Bruce's comments
about spaces and tabs.

The externs in the static inline functions remain 'cause (a) they're
required; and (b) I can't find any gcc -W* cases where they generate
warnings.
1998-04-12 20:29:24 +00:00
John Birrell
7d0026cd9f Add *_unlocked() macros according to POSIX. In the _THREAD_SAFE case,
test for __isthreaded before calling the lock/unlock functions to
try to save some performance. The _THREAD_SAFE case should become the
default, but since it tests for a global variable in libc, people won't
be able to build -current on pre-3.0 systems unless the default leaves
it out. Such is life.
1998-04-11 07:33:46 +00:00
John Birrell
1c1426e119 Add a function prototype to set the name of a thread for debugging
purposes.
1998-04-11 02:50:59 +00:00
John Birrell
edb4b26f50 Add static initializer defines as specified by POSIX. 1998-04-04 10:59:42 +00:00
Peter Dufault
8a6472b723 Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and
_KPOSIX_PRIORITY_SCHEDULING options to work.  Changes:

Change all "posix4" to "p1003_1b".  Misnamed files are left
as "posix4" until I'm told if I can simply delete them and add
new ones;

Add _POSIX_PRIORITY_SCHEDULING system calls for FreeBSD and Linux;

Add man pages for _POSIX_PRIORITY_SCHEDULING system calls;

Add options to LINT;

Minor fixes to P1003_1B code during testing.
1998-03-28 11:51:01 +00:00
Bruce Evans
642a4fdc7d Added forgotten declaration of mkdtemp(). 1998-03-12 13:54:51 +00:00
Peter Dufault
c6dd839fb5 Remove AIO_LISTIO_MAX until it is done properly. 1998-03-08 22:29:56 +00:00
Peter Dufault
7a2ac24c5f Put sigevent and AIO_LISTIO_MAX back in aio.h so
that kernels can be built.
1998-03-08 22:21:12 +00:00
John Birrell
d60d35ddf1 My sched.h is getting walloped by Peter Dufault's. Nuke mine. Sorry. 1998-03-08 21:36:41 +00:00
Peter Dufault
aac4ad2c99 Reviewed by: bde
Changes to support building with _POSIX_SOURCE set to 199309L:

1. Add sys/_posix.h to handle those preprocessor defs that POSIX
says have effects when defined before including any header files;

2. Change POSIX4_VISIBLE back to _POSIX4_VISIBLE

3. Add _POSIX4_VISIBLE_HISTORICALLY for pre-existing BSD features now
defined in POSIX.  These show up when:

_POSIX_SOURCE and _POSIX_C_SOURCE are not set or
_POSIX_C_SOURCE is set >= 199309L

and vanish when:

_POSIX_SOURCE is set or _POSIX_C_SOURCE is < 199309L.

4. Explain these in man 9 posix4;

5. Include _posix.h and conditionalize on new feature test.
1998-03-08 17:25:38 +00:00
John Birrell
dc79e6f23b Add a POSIX sched header. pthread_yield() in draft 4 becomes
sched_yield() in the final draft (10). This header contains the
prototype. Other things in here are "future".
1998-03-08 02:17:26 +00:00
Peter Dufault
917e476dad Reviewed by: msmith, bde long ago
POSIX.4 headers and sysctl variables.  Nothing should change
unless POSIX4 is defined or _POSIX_VERSION is set to 199309.
1998-03-04 10:27:00 +00:00
Bruce Evans
85b4696243 Moved include of <sys/cdefs.h> earlier for the same reasons as moving
it in <sys/types.h>.

PR:	5785
1998-02-27 06:12:47 +00:00
Bruce Evans
f27c440328 Removed _POSIX_SOURCE ifdefs. This is not a POSIX.1 header. 1998-02-25 02:15:59 +00:00
Bruce Evans
59bd6ec5a0 Uncommit the generated file key_prot.h. Install it from where it
is generated.  It must be installed in both /usr/include/rpc/ and
/usr/include/rpcsvc/ for historical reasons.  The generated version
was once missing ANSI prototypes because the wrong flags were passed
to rpcgen, but that is fixed now.  The committed version had `#pragma
indent' which gratuitously broke K&R support.  Apart from this, all
versions before and after this commit are identical.
1998-02-13 03:10:28 +00:00
John Polstra
c1effe8a45 Replace bogus "@(#)err.h 8.1 (Berkeley) 6/2/93" with RCS Id keyword.
Somebody must have blindly copied the leader comment when they
created this file.
1998-02-11 05:19:10 +00:00
John Polstra
0fbd9e9828 Remove the include of <dlfcn.h> from crt0.c; it is not needed now
that the dl* trampolines have been moved into libc.

Move dlfcn.h from src/lib/csu/i386 into src/include.  Nothing in
src/lib/csu/i386 uses it any more.
1998-02-11 04:57:25 +00:00
John Polstra
663690b388 Implement dladdr. 1998-02-06 16:46:46 +00:00
Steve Price
2e645a20cb XOpen says the void setpwent(void) is correct. Also call setpassent(0)
instead of duplicating code, albeit trivial (inspired by NetBSD).

PR:		5524
1998-02-01 06:16:08 +00:00
Warner Losh
7e291b9c9c kill ufs/lfs so that make installworld completes successfully. 1998-01-31 05:54:54 +00:00
John Birrell
013239afdf Suggested by: bde
Move sigjmp_buf and jmp_buf structure definitions to machine/setjmp.h
so that i386 can continue to use int as the basic register type and
alpha can use long. Bruce was concerned about possible differing
alignment. I've left the definition of _JBLEN in machine/setjmp.h
even though Bruce's example used the number directly. I don't know if
any other code relies on _JBLEN, so I left it to avoid potential
breakage.
1998-01-20 09:09:24 +00:00
Bill Paul
813907f9ec Invoke rpcgen with -C so that headers are created with ANSI prototypes.
Note: this may cause some problems in a few cases. With very old versions
of rpcgen, if you defined a procedure called foo, then rpcen would create
client stubs for function foo_1() and server stubs _also_ with function
foo_1(). This only worked because of the lack of ANSI prototypes: the
client side stub takes different arguments than the server side stub.
(The client side takes a CLIENT * handle, while the server side wants
an svc_req *.)

To fix this conflict, rpcgen in ANSI mode generates foo_1() for the client
and foo_1_svc() for the server. RPC server code that depends on the old
behavior might break because of this. (Fixing it is just a matter of
adding the _svc suffix onto the server procedure names.)
1998-01-19 17:19:09 +00:00
Bruce Evans
70c780fe61 Added missing declaration of signanosleep(). 1998-01-16 12:44:20 +00:00
Bruce Evans
b68659fc63 Fixed pedantic syntax error (trailing comma in enum). 1998-01-16 12:39:20 +00:00
Bruce Evans
a67d6a5933 Removed `#pragma ident' (for a FreeBSD Id) so that the K&R support
isn't gratuitously broken.  This also prevents ANSI compilers from
recognizing the pragma as a request to run /usr/games/hack...
FreeBSD Ids should be in comments or rcsids, not in `#pragma ident's
(which are equivalent to comments when compiled by gcc), and the
only FreeBSD change in this file seems to be adding the Id.
1998-01-16 12:28:09 +00:00
Bruce Evans
ab111c13d5 Commented out `#pragma ident' (for a Sun id) so that the K&R support
isn't gratuitously broken.  This also prevents ANSI compilers from
recognizing the pragma as a request to run /usr/games/hack...
1998-01-16 12:20:41 +00:00
Bruce Evans
2ab72cf580 Removed redundant declarations. rpcgen generates `typedef enum foo;'
from `enum foo;'.
1998-01-16 12:17:55 +00:00
Bruce Evans
cb4b2fb400 Made this header self-sufficent. It had unnecessary dependencies on
<sys/cdefs.h>, <sys/types.h>, <rpcsvc/yp_prot.h>, and on the latter's
prerequisites (5 more).
1998-01-16 12:10:13 +00:00
Bruce Evans
25776f4cf7 Fixed a missing dependency. 1998-01-16 11:51:19 +00:00
Bruce Evans
c62130b382 Null change to attach the correct log message for the previous commit:
Added some forward struct declarations so that this file is less
self-insufficent.
Fixed an incomplete prototype.
Fixed some misformattings.
1998-01-16 11:47:51 +00:00
Bruce Evans
9a03398dd1 Added a forward struct declaration so that this file is less
self-insufficent.
1998-01-16 11:46:05 +00:00
Bruce Evans
03061ce6e5 Commented out `#pragma ident' so that the K&R support isn't gratuitously
broken.  This also prevents ANSI compilers from recognizing the pragma
as a request to run /usr/games/hack...
1998-01-16 11:37:54 +00:00
Bruce Evans
826a60e79e Translated to `C' - commented out #ident. 1998-01-16 10:31:46 +00:00
John Birrell
7357ff3f14 Move _JBLEN definition to <machine/setjmp.h> like on NetBSD. Remove
definitions for architectures that we don't have libc MD source for.

Change 'int' to 'long' in sigjmp_buf and jmp_buf structures so
that they are suitable for the register size on both i386 and alpha.
Although FreeBSD defines these structures differently to NetBSD,
the element size is now the same.

If Bruce doesn't like this [8-)], we'll need to add a typedef to
each <machine/setjmp.h> and use that in <setjmp.h>.
1998-01-11 03:46:26 +00:00
Jordan K. Hubbard
8510110314 unborkify osreldate.h install (change \ to / - someone was in DOS mode! ;) 1998-01-02 09:39:12 +00:00
Steve Price
953757afd3 Install osreldate.h from ${.OBJDIR}.
Submitted by:	Bruce Evans <bde@zeta.org.au>
1998-01-01 23:17:05 +00:00
Alexander Langer
de17eb59b4 Added missing caddr_t --> void * conversions for sys/mman.h functions.
Submitted by:	bde
1998-01-01 17:07:46 +00:00
Steve Price
14d96c0846 Don't include sys/syslimits.h if _ANSI_SOURCE is defined.
PR:		5119
Discussed with:	Bruce Evans <bde@zeta.org.au>
1997-12-27 22:56:41 +00:00
Alexander Langer
372787c102 Changed pthread_detach to conform to POSIX, i.e. the single argument
provided is of type pthread_t instead of pthread_t *.

PR:		4320

Return EINVAL instead of ESRCH if attempting to detach an already
detached thread.
1997-12-25 05:07:20 +00:00
John Polstra
befb229b6f Move nlist related defines from link.h into nlist.h. Clean up
nlist.h.
1997-12-06 17:59:52 +00:00
John Polstra
937ef9c494 Remove the prototypes for dlopen and related functions. They don't
belong here.  The standard place for them is <dlfcn.h>, and there is
already another copy of the prototypes there.
1997-11-28 19:05:11 +00:00
Philippe Charnier
d95c2f3a27 Add Ids, from lite2. 1997-11-24 07:36:46 +00:00
Brian Somers
9822c98d98 const correctness for dl*() 1997-11-22 03:34:46 +00:00
Philippe Charnier
e84f19ceda Remove sccsid, not present in Lite2. 1997-11-20 07:18:07 +00:00
Philippe Charnier
468b39106c Add const to rcsid[] definition so that -Wall will not complain. 1997-10-31 12:26:52 +00:00
Andrey A. Chernov
c692d76dae Change usleep return type from void to int to match OpenGroup specs. 1997-10-22 10:57:54 +00:00
Joerg Wunsch
d88dbcf043 Declare the various 2-byte values in TFTP as being `unsigned short'.
RFC 1350 isn't very explicit about this, but the use of signed
integers doesn't seem to make sense.

Should be in 2.2.5, but is probably too late to be verified completely.

PR:		bin/4502
Submitted by:	Dirk Nehrling <nerle@pdv.de> via Lars Koeller
1997-10-19 16:48:50 +00:00
Mark Murray
bd00bedcd6 Reinsert telnet.h into the list of files installed into include/arpa/
I suspect a commit of mine had this (bogusly).
1997-10-03 18:10:35 +00:00
Mark Murray
2ca29c4475 Changes for KTH KerberosIV.
telent.h is installed from libtelnet, not the include dir.
1997-09-28 09:12:04 +00:00
Andrey A. Chernov
659ad3a4a1 Oops, fix typo in istype definition 1997-09-27 04:30:50 +00:00
Andrey A. Chernov
917065108a 1) Bring '!!' back since we wan't overflow even a char
2) Revive __maskrune, just return mask now
3) Express __istype via !!__maskrune
4) Use __maskrune in digittoint
1997-09-27 04:22:47 +00:00
Andrey A. Chernov
80fd925122 Oops, wrong version of digittoint fix was commited, step back to v1.8
instead just remove '!!' to make digittoint() work and re-arrange
things a little
1997-09-25 22:44:21 +00:00
Andrey A. Chernov
9f05e73cd2 Fix digittoint broken long ago
Redesign to allow digittoint work for runes too
__maskrune removed, __istype become a macro, __runeflags added
1997-09-25 22:27:45 +00:00
Peter Wemm
985ae608d7 Bandaid for the build-breaking reference to _BSD_RUNE_T_. I'm not sure
that this is right, but the old reference defaintely was not.
1997-09-25 03:06:19 +00:00
Julian Elischer
16f76e6f06 Submitted by: Sin'ichiro MIYATANI / Phase One, Inc <siu@phaseone.co.jp>
Basic support for the Shift JIS encoding of japanese.
(and one tiny typo fixed in a comment)
1997-09-24 20:38:12 +00:00
Bruce Evans
3b6f5a5bdd Removed installhdrs target. It was an unnecessary complication. 1997-09-16 10:52:59 +00:00
Peter Wemm
c4ea5f72e6 SYSV has both <poll.h> and <sys/poll.h>. (poll.h merely #includes
sys/poll.h).  Just provide a link, it's close enough. :-)  In an ideal
world the prototype for poll() would be in <poll.h> but some code seems
to expect it in <sys/poll.h>, so we can't win there.
1997-09-14 03:32:44 +00:00
Brian Somers
a367bd9e25 Add "options no_tld_query" to resolv.conf.
Mention the capability in resolver(5).
Mention that RES_OPTIONS can be used in resolver(5).
Discussed with: -hackers
1997-09-01 01:19:23 +00:00
Bruce Evans
2de8d1f69c Removed ifndef of AUTH_NONE. The conflict with login_cap.h was fixed
better by not defining AUTH_NONE in login_cap.h.
1997-08-21 19:31:04 +00:00
Bruce Evans
cfca13bf11 Don't traverse subdirectories twice for normal installs. 1997-08-21 18:40:04 +00:00
Bruce Evans
41b5513403 Fix and simplify installhdrs target. It didn't install the headers in
${HFILES} and it's simpler to install the non-headers in ${XFILES}.
1997-08-21 18:33:13 +00:00
John-Mark Gurney
4604167e0a fix a problem with headers not being installed properly... basicly the
installhdrs target was not being propagated to the subdirs...

also fix rpcsvc's Makefile to have a installhdrs target to install the
headers..
1997-08-21 09:29:49 +00:00
Peter Wemm
b2794e33ec Prototypes for getsid() and getpgid(). Also, prefix type names in
setpgrp() prototype with _ as per style(9).
1997-08-19 06:19:45 +00:00
Peter Wemm
ef75e7acaa split beforeinstall hook up so that the header install stuff is reachable
without risking invoking ${SHARED}.
1997-08-18 06:28:47 +00:00
Steve Price
fcd57f5cca Make this compile with the -traditional cc flag.
PR:		misc/2189
Submitted by:	Lars Koeller <Lars_Koeller@odie.physik2.uni-rostock.de>
1997-08-16 23:32:42 +00:00