Commit Graph

505 Commits

Author SHA1 Message Date
Jordan K. Hubbard
96b2533ed1 Bump maximum username length to 16 characters. This brings us into
line with BSD/OS and Linux's username limits, making transitioning from
either operating system a lot easier than it is now.  I'm currently
running with this change on my system, as are several others, and have
experienced no ill effects.

This is not for 2.2!  This needs to get shaken out longer term in 3.0.

Previously-approved-by:  davidg
1996-12-04 11:31:14 +00:00
Poul-Henning Kamp
f5daa1a513 Update to more current reality.
Reviewed by:	phk
Submitted by:	Robin Carey <robin@mailgate.dtc.rankxerox.co.uk>
1996-11-28 09:57:31 +00:00
Garrett Wollman
2832011fa2 Matching routed.h to go along with latest routed. 1996-11-19 21:22:18 +00:00
Jeffrey Hsu
b0e998dc26 Change prototypes for gmtime_r() and localtime_r() in accordance with
IEEE pthreads specification.
1996-11-11 09:22:13 +00:00
Jeffrey Hsu
7d9120c451 Prototype pthread_mutexattr_getkind_np() and pthread_mutexattr_setkind_np(). 1996-11-11 09:21:19 +00:00
Jeffrey Hsu
9362f73db8 Moved pthread_mutexattr_default inside #ifndef PTHREAD_KERNEL now that
we use it in the uthreads implementation.
Moved enum pthread_mutextype here from libc_r/uthread/pthread_private.h.
Change prototype for pthread_getspecific().
1996-11-11 09:19:54 +00:00
Andrey A. Chernov
9623470623 Remove collate_range_cmp 1996-10-31 14:41:30 +00:00
Wolfram Schneider
8c372bd8a2 improve comments for UT_NAMESIZE 1996-10-27 18:13:35 +00:00
Bruce Evans
70cd2f632d Fixed tabs and punctuation to match nearby (and KNF) style. Sigh. 1996-10-24 04:05:54 +00:00
Andrey A. Chernov
d9de4eee40 GNU-style changes:
1) Rename FNM_ICASE to FNM_CASEFOLD
2) Add FNM_LEADING_DIR
1996-10-23 16:42:33 +00:00
Wolfram Schneider
95e4966c47 add flag FNM_ICASE for case insensitve search
Reviewed by: ache
1996-10-20 15:15:59 +00:00
Jordan K. Hubbard
cf3c4df72d Add back netns 1996-10-17 18:44:56 +00:00
Marc G. Fournier
524e95de2b Fixed the wrong include file for a "prototype mismatch" error between
dlfcn.h and link.h
1996-10-08 01:38:36 +00:00
Marc G. Fournier
0e9cb8bed8 dlfcn.h and link.h have conflicting declarations for dlopen/dlsym,
with dlfcn.h declaring them as:

void *dlopen __P((const char *, int));
void *dlsym __P((void *, const char *));

while link.h declared them as

extern void *dlopen __P((char *, int));
extern void *dlsym __P((void *, char *));

Fix link.h to match dlfcn.h
1996-10-07 20:49:03 +00:00
Peter Wemm
f62b417ba5 Add support for storing a -R path in ld in the section dispatch table,
support LD_HINTS_VERSION_2 that has the ldconfig pathname stored in the
ld.so.hints file (ie: a new library can be installed and used without
needing to run ldconfig -m first)

Reviewed by: nate, jdp
Obtained from: NetBSD (mostly)
1996-10-01 00:25:32 +00:00
Peter Wemm
8bd5578830 Add the linker set stab types: N_SETA N_SETT N_SETD N_SETB N_SETV 1996-10-01 00:01:43 +00:00
Bruce Evans
976cca3578 Fixed CLEANFILES. osreldate was missing.
Cleaned up LDIRS line.
1996-09-20 13:42:26 +00:00
Bruce Evans
eaa86f9d7f Don't use __dead or __pure in user code. They were obfuscations
for gcc >= 2.5 and no-ops for gcc >= 2.6.  Converted to use __dead2
or __pure2 where it wasn't already done, except in math.h where use
of __pure was mostly wrong.
1996-09-14 03:00:32 +00:00
Adam David
a2480c3cfd install rpc header files 1996-09-01 17:54:25 +00:00
Peter Wemm
8b7156a207 'make install' is not supposed to touch anything. 1996-08-30 22:36:45 +00:00
Peter Wemm
20c5124b62 missed these parts of Bruce's changes last time..
Submitted by: bde (again :-)
1996-08-30 21:57:39 +00:00
Peter Wemm
1133312c37 echo -> ${ECHO}
do the rm -rf and ln -s in two seperate commands to allow a fork/exec
without a "sh -c" in the middle.

Submitted by: bde
1996-08-30 19:37:14 +00:00
Peter Wemm
0fd77885de Some bmake magic to clean up the install more.
fix another missed -c typo of mine.
clean the rpcgen implicit rule more

Submitted by: bde
1996-08-30 19:31:28 +00:00
Peter Wemm
74b3fad642 Hand merge in the bind-4.9.4-P1 resolver updates. 1996-08-29 20:01:00 +00:00
Peter Wemm
230a383d0d replace cmp -s || install with ${INSTALL} -C, and @for with .for 1996-08-29 19:59:48 +00:00
Peter Wemm
56de53f256 Clean up include Makefile:
- use .for loops instead of shell for loops. This means we can be
   shown what is happening while it's going, rather than some pacifier
   "echo" statement.
 - use "${INSTALL} -C", nuke the "cmp -s" hack
 - for "copies" mode,  the include files are no longer touched each time
   the world is built. (ie: no rm -rf.  symlinks are removed, mtree builds
   the new dirs or confirms the existing ones)
 - osreldate.h is build in the local dir and conditionally installed,
   rather than built in /usr/include and either renamed or deleted.
1996-08-29 19:57:48 +00:00
Garrett Wollman
83f9002e3d New version of routed.h to match new version of routed. 1996-08-27 16:21:34 +00:00
Julian Elischer
0f7d684755 Submitted by: John Birrell <cimaxp1!jb@werple.net.au>
Here are the diffs for libc_r to get it one step closer to P1003.1c
These make most of the thread/mutex/condvar structures opaque to the
user. There are three functions which have been renamed with _np
suffixes because they are extensions to P1003.1c (I did them for JAVA,
which needs to suspend/resume threads and also start threads suspended).

I've created a new header (pthread_np.h) for the non-POSIX stuff.

The egrep tags stuff in /usr/src/lib/libc_r/Makefile that I uncommented
doesn't work. I think its best to delete it. I don't think libc_r needs
tags anyway, 'cause most of the source is in libc which does have tags.

also:

Here's the first batch of man pages for the thread functions.
The diff to /usr/src/lib/libc_r/Makefile removes some stuff that was
inherited from /usr/src/lib/libc/Makefile that should only be done with
libc.

also:

I should have sent this diff with the pthread(3) man page.
It allows people to type

make -DWANT_LIBC_R world

to get libc_r built with the rest of the world. I put this in the
pthread(3) man page.  The default is still not to build libc_r.


also:
The diff attached adds a pthread(3) man page to /usr/src/share/man/man3.
The idea is that without libc_r installed, this man page will give people
enough info to know that they have to build libc_r.
1996-08-20 08:22:01 +00:00
Andrey A. Chernov
e7dc576816 #if !ANSI !POSIX newly added collate_range_cmp function 1996-08-13 14:01:40 +00:00
Andrey A. Chernov
806af72bd9 There is so many places where range comparation (using collate)
needed (much more than I think initially), so I forced to add
new user-visible non-standard function to libc.
1996-08-12 18:30:43 +00:00
Wolfram Schneider
7b2dfbf801 Create FreeBSD copyright (c comment) for OS version 1996-08-04 22:34:23 +00:00
Garrett Wollman
41d689b7b6 New routed.h that goes with the new routed. 1996-07-22 21:14:48 +00:00
Bruce Evans
a21dc21cee Fixed new and old standards conformance bugs. The non-POSIX confstr() was
in the POSIX section for a log time.  The non-POSIX getgrouplist() and
setgroups() were recently added to the POSIX section although setgroups()
was already in the non-POSIX section.
1996-07-17 10:52:38 +00:00
Jordan K. Hubbard
7e5eded870 General -Wall warning cleanup, part I.
Submitted-By: Kent Vander Velden <graphix@iastate.edu>
1996-07-12 19:24:27 +00:00
Andrey A. Chernov
149fed7719 Add netatalk symlink, ifconfig not compiled in other case 1996-07-09 15:48:20 +00:00
Bill Paul
74e4b87eb6 There are a few small additions to the protocol to make it
easier to use in mixed environments:

- Add three new members to the request structure:

  - a filename specification
  - a database type specification
  - a system byte prder specification

  These allow the client to ask the server for a particular type of
  database (Berkeley DB hash/btree/recno, GNU GDBM, dbm, ndbm, etc...)
  and get back a meaningful error if the server doesn't support it.
  The byte order spec is needed if the database type is byte order
  sensntive. You don't, for example, want to read an ndbm database
  from a big endian machine on a little endian machine (the ndbm code
  will explode). The filename spec lets the client handle things like
  ndbm which uses two seperate files per database (foo.dir and foo.pag).
  The client can ask for each half, one at a time.

- Add a list of database types and byte order values. Each list has
  a wildcard 'ANY' entry which lets the client ask for whatever the
  server supports. (XFR_ENDIAN_ANY is useful with the Berkeley DB hash
  method for instance, since it isn't byte order sensitive.)

- Add two newserver failure codes: XFR_DB_TYPE_MISMATCH and
  XFR_DB_ENDIAN_MISMATCH. The server uses these to tell the client
  that it doesn't support the requested type/byte order.

These changes were made at the suggestion of Thorsten Kukuk, the
current maintainer of the Linux ypserv distribution. This allows
Linux and FreeBSD NIS servers to use the same ypxfrd protocol and
avoid accidentally exchanging incompatible map files.
1996-07-04 02:08:17 +00:00
Wolfram Schneider
ad7076c992 remove zopen, zopen is not part of libc. 1996-07-02 23:04:50 +00:00
Sujal Patel
e862fa8cf2 Added missing prototype for sigaltstack() 1996-06-28 04:27:04 +00:00
Garrett Wollman
c72c7259e5 Add `netkey' to list of kernel directories to include in /usr/include. 1996-06-15 18:05:36 +00:00
Garrett Wollman
ffd1512db6 Add an independent implementation of addr2ascii(3) and ascii2addr(3)
following the API of the INRIA IPv6 implementation.
1996-06-13 20:45:05 +00:00
Bill Paul
2dc30288e5 Now that Peter has been nice enough to bail me out of my last little
mishap, it's time to have the Makefile install ypxfrd.x and ypxfrd.h.
1996-06-05 03:47:18 +00:00
Bill Paul
2f83f6d899 (I hope I'm doing this correctly.)
Import a my own little ypxfrd protocol. Note that this protocol is
_NOT_ the same as Sun's, which is proprietary.

This basically impliments an RPC-based file transfer protocol which
lets a slave server suck over a raw map database file from the master.
This is many times faster than the normal method, which requires reading
the records from ypserv via yp_all() and then creating a new database
on the fly, particularly when you have many tens of thousands of
records in a map (e.g. a huge passwd database).

The protocol number I chose falls within the 'user-specified' range.
Maybe we should register it with Sun so we can get an official vendor
number for it. :)
1996-06-05 02:42:33 +00:00
Poul-Henning Kamp
c9c3e92c95 Install pccard includes. 1996-06-04 21:30:35 +00:00
Garrett Wollman
703f599354 Protocol definitions for RIPv2.
Obtained from: Vernon Schryver <vjs@mica.denver.sgi.com>
1996-05-30 16:31:04 +00:00
Peter Wemm
15aa00d597 Add an implementation of the gnu-ish asprintf() and vasprintf(). They are
not based on gpl'ed code, just prototype and usage.  I'm not 100% certain
they behave the same while the system is in trouble (eg: malloc() failing)
but in those circumstances all bets would be off anyway.

These routines work like sprintf() and vsprintf(), except that instead of
using a fixed buffer, they allocate memory and return it to the user
and it's the user's responsibility to free() it.  They have allocate as
much memory as they need (and can get), so the size of strings it can deal
with is limited only by the amount of memory it can malloc() on your
behalf.

There are a few gpl'ed programs starting to use this interface, and it's
becoming more common with the scares about security risks with sprintf().
I dont like the look of the code that the various programs (including
cvs, gdb, libg++, etc) provide if configure can't find it on the system.

It should be possible to modify the stdio core code to provide this
interface more efficiently, I was more worried about having something
that worked and was secure.  :-)  (I noticed that there was once intended
to be a smprintf() routine when our stdio was written for 4.4BSD, but it
looks pretty stillborn, and it's intended interface is not clear).  Since
Linux and gnu libc have this interface, it seemed silly to bring yet
another one onto the scene.
1996-05-27 10:49:43 +00:00
Bruce Evans
dcbf155dce Made this work with the documented prerequisite #includes (none). 1996-05-01 00:57:57 +00:00
Bruce Evans
cdd84b0211 Fixed longstanding namespace convolution involving rune_t vs wchar_t.
If _ANSI_SOURCE or _POSIX_SOURCE is defined, then <ctype.h> had to
be included before <stddef.h> or <stdlib.h> to get rune_t declared.
Now rune_t is declared perfectly bogusly in all cases when <ctype.h>
is included.

This change breaks similar (but more convoluted) convolutions in the
stddef.h in gcc distributions.  Ports of gcc should avoid using the
gcc headers.
1996-05-01 00:40:10 +00:00
Andrey A. Chernov
a74de56d07 Fix sgetrune/sputrune arg type: was unsigned int instead of size_t 1996-04-18 07:13:42 +00:00
Bill Paul
94c53e1fb5 NIS cleanups and fixes, the next generation.
getnetgrent.c:

- Catch one bogon that snuck by: in _listmatch(), check for '\0'
  rather than '\n'; strings returned from yp_match() are terminated
  with a nul, not a newline.

getpwent.c:

- Rip out all of the +inclusion/-exclusion stuff from before and
  replace it with something a little less grotty. The main problem
  with the old mechanism was that it wasted many cycles processing
  NIS entries even after it already knew they were to be exlcuded
  (or not included, depending on your pointof view). The highlights
  of these changes include:

  o Uses an in-memory hash database table to keep track of all the
    -@netgroup, -user, and -@group exclusions.

  o Tries harder to duplicate the behavior normally obtained when using
    NIS inclusions/exclusions on a flat /etc/passwd file (meaning things
    come out in much the same order).

  o Uses seperate methods for handling getpwent() and getpwnam()/getpwuid()
    operations instead of trying to do everything with one general
    function, which didn't work as well as I thought it would.

  o Uses both getnetgrent() and innetgr() to try to save time where
    possible.

  o Use only one special token in the local password database
    (_PW_KEYYPBYNUM) instead of seperate tokens to mark + and -
    entries (and stop using the counter tokens too). If this new
    token doesn't exist, the code will make due with the standard
    _PW_KEYBYNUM token in order to support older databases that
    won't have the new token in them.

  All this is an attempt to make this stuff work better in environments
  with large NIS passwd databases.
1996-04-16 00:22:41 +00:00
Andrey A. Chernov
f905bd5001 Slightly simplify inlined functions 1996-03-25 13:46:21 +00:00
Paul Richards
65bfae763d Fix incorrect parameter types for ftell and fgets. 1996-03-24 15:51:45 +00:00
Jordan K. Hubbard
7a532e559d Don't reference ndbm(3) manpage. Everything is covered by db(3). 1996-03-03 09:04:40 +00:00
Paul Traina
90fd5bdfbf Fix conflicts and merge into mainline (this may get cvs admined out and redone properly by Peter later) 1996-02-27 19:42:44 +00:00
Bill Paul
2a781cb86e Add structure and procedure definitions for NIS v1. (This information
was reverse-engineered using the <rpcsvc/ypv1_prot.h> file supplied
with SunOS 4.1.3 as a guide.)
1996-02-26 02:22:53 +00:00
Peter Wemm
34cc74ea41 Add prototype for rfork(). 1996-02-23 19:45:46 +00:00
Garrett Wollman
2f8ed7833f Don't install netns, it doesn't exist any more. 1996-02-14 15:17:53 +00:00
Garrett Wollman
d24ceb93d8 Don't install netccitt and netiso, they are going away. 1996-02-06 20:42:46 +00:00
Jeffrey Hsu
128443c87b Remove unnecessary typedef. All inclusions of <rpc/auth.h> in the source
tree are preceded by an inclusion of <rpc/types.h>, so the 32-bit fixed sized
type u_int32_t is already available to us.
1996-01-31 08:02:11 +00:00
Mike Pritchard
71d9c7815e Fix a bunch of spelling errors in the comment fields
of a bunch of system include files.
1996-01-30 23:33:04 +00:00
Mike Pritchard
c2dc2eab50 Add a missing "chmod 755 /usr/include/ufs" when copies of the include
files are installed instead of symlinks.
1996-01-23 15:56:43 +00:00
Julian Elischer
2c2eb19365 Submitted by: john birrel
Obtained from: uthread package

thrreads definitions
1996-01-22 00:24:56 +00:00
Julian Elischer
f70177e76e Reviewed by: julian and (hsu?)
Submitted by:	 John Birrel(L?)

changes for threadsafe operations
1996-01-22 00:02:33 +00:00
cvs2svn
0cc3916673 This commit was manufactured by cvs2svn to create branch 'WPAUL'. 1996-01-12 07:03:35 +00:00
Peter Wemm
25c570d8a8 Update resolver include files to bind-4.9.3-rel level 1996-01-07 05:01:52 +00:00
Peter Wemm
6065a0be11 This commit was generated by cvs2svn to compensate for changes in r13122,
which included commits to RCS files with non-trunk default branches.
1995-12-30 19:02:48 +00:00
Peter Wemm
a5b996a7ec recording cvs-1.6 file death 1995-12-30 19:02:48 +00:00
Bill Paul
898daf2b5b *groan* Fix yet _ANOTHER_ discrepancy between the NIS protocol definition
and real life. YPPUSHPROC_XFRRESP is supposed to return void and take
an argument of type yppushresp_xfr, not the other way around as yp.x seems
to imply. (I spent two hours today staring intensely at my prototype ypxfr
code and scratching my head before I finally figured this out.)
1995-12-22 04:08:28 +00:00
Bill Paul
d888004745 *sigh* Yet another bogosity: the YPPROC_FIRST procedure is listed as
taking an argument of type ypresp_key. This is incorrect: it should be
ypresp_nokey. (yp_first() is supposed to return the first key in a
given map; the server doesn't need any client-specified key to handle
such a request.)
1995-12-09 08:34:04 +00:00
Bill Paul
04228afa84 "What? He's modifying the NIS protocol definition!?"
No, not really. There are just a couple of long-standing bogosities here
that I feel compelled to fix. :)

There are two small changes here:

1) yp.x actually contains _three_ protocol definitions: YPPROG (standard
   NIS client/server procedures), YPPUSH_XFRRESPPROG (callback handler
   for the YPPROC_XFR service, aka ypxfr/yppush) and YPBINDPROG (for ypbind,
   ypset & friends). The problem is that when you run yp.x through rpcgen(1),
   it generates client and server stubs with hooks for all three services.
   This makes it impossible to actually use the rpcgen-erated code in a
   program that only deals with _one_ of these services (ypserv, ypbind,
   etc...) without manually removing the unneeded stubs (either by hand
   editing or by committing unspeakable horrors with sed). This defeats
   the whole purpose of using rpcgen and is generally annoying.

   What I've done is to insert a few #ifndefs and #endifs to allow a
   programmer to selectively blot out those functions that aren't needed
   for a particular program. For instance, if you do 'rpcgen -DYPSERV_ONLY',
   you'll get only the necessary client/server stubs to implement the
   standard yp client and server functions. If you do 'rpcgen -DYPBIND_ONLY',
   you get only what you need for ypbind. If you don't #define anything,
   you get the whole mess, just like before, so existing programs won't
   notice the difference. (Note that the -D flag is not supported by our
   existing crufty version of rpcgen, but I intend to update it soon.)

2) The definition for the ypresp_key_val structure is actually incorrect
   with respect to reality: the key and val members are specified in the
   wrong order. It should be val/key rather than key/val. For whatever
   the reason, Sun's actual NIS implementation contradicts the protocol
   definition in this case. Again, accounting for this bogosity here is
   cleaner and easier than mangling the output from rpcgen.
1995-12-08 17:58:50 +00:00
Mark Murray
985200a17e Removed reference to missing mp.h in comment. We have GNU MP now. 1995-11-12 19:29:08 +00:00
Andrey A. Chernov
15b31aa05a Fix isspecial/isphonogram, they was swapped
Remove EOF hack, now it is recognized per ANSI/POSIX
Add upper bounds check
Handle all negative chars inside locale functions
1995-11-03 12:25:14 +00:00
Julian Elischer
2ef81f4909 Submitted by: john hay
add a link in /usr/include to /sys/netipx
1995-10-27 06:51:02 +00:00
Andrey A. Chernov
b8643b5a1b Due conflict to some obsoleted applications (dump/restore) rename
_PATH_LOCK to _PATH_UUCPLOCK
Pointed-by: bde
1995-09-23 15:14:25 +00:00
Andrey A. Chernov
fa78e67a41 Add _PATH_LOCK: /var/spool/lock/
Suggested-by: bde
1995-09-20 13:01:04 +00:00
Peter Wemm
d58a9efd01 Update the resolver include files to bind-4.9.3-beta24 level (from beta9p1)
Note: this was done by selective patching from diffs by hand, in order
to not conflict with the 4.4BSD base code.  Beta9 was done the same way.

Obtained from:	Paul Vixie <paul@vix.com>
1995-08-20 19:59:28 +00:00
Joerg Wunsch
df57976dbc Install the headers and sample files with 444 perms (as opposed to
555).

Submitted by:	graichen@sirius.physik.fu-berlin.de (Thomas Graichen)
1995-08-15 20:06:50 +00:00
Bruce Evans
48cfb668fc Change install' to ${INSTALL}' so that default install flags can be
specified in the top level Makefiles.

Previously I missed dozens of Makefiles that skip the install after
using `cmp -s' to decide that the install isn't necessary.
1995-08-06 12:24:38 +00:00
Garrett Wollman
cffeb06206 Don't install bogus tzfile.h. In fact, don't install any tzfile.h. 1995-08-05 20:24:32 +00:00
Rodney W. Grimes
38d29ffcd6 Remove NOOBJ, we now need it.
Remove JUST_TELL_ME hack, let the newvers.sh output fall into the
obj dir, and add CLEANFILES= to clean up after it.
1995-07-13 10:04:11 +00:00
Rodney W. Grimes
5e92b09f4f Add a sprinkling of ${.CURDIR} to some paths so that this works
in the presence of an obj dir (though NOOBJ is set now, that shall
change in the near future.)
1995-07-13 09:57:34 +00:00
Garrett Wollman
827d45ce27 Fix a bug I didn't manage to trigger until after committing previous
fix to header installation.
1995-06-29 19:45:46 +00:00
Garrett Wollman
5a497e0c63 Make this include installation conform to the standard of all the rest:
- Don't do mkdir/chown/chmod
	- Do `cmp -s' before attempting to install a header

This should fix the obnoxious problem of yp programs wanting to
rebuild every time.
1995-06-29 19:43:00 +00:00
Bruce Evans
943c18018b Fix standards conformance bugs in <signal.h>:
include/signal.h:
There was massive namespace pollution from including <sys/types.h>.
POSIX functions were declared even when _ANSI_SOURCE is defined.

sys.sys/signal.h:
NSIG was declared even if _ANSI_SOURCE or _POSIX_SOURCE is defined.
sig_atomic_t wasn't declared if _POSIX_SOURCE is defined.
Declare a typedef for signal handling functions and use it to
unobfuscate declarations and to avoid half-baked function types
that cause unwanted compiler warnings at certain warning levels.
Fix confusing comment about SA_RESTART.

sys/i386/include/signal.h:
This has to be included to get the declaration of sig_atomic_t even
when _ANSI_SOURCE is defined, so be more careful about polluting
the ANSI namespace.

Uniformize idempotency ifdefs.
1995-06-28 02:14:13 +00:00
Doug Rabson
a62dc40654 Changes to support version 3 of the NFS protocol.
The version 2 support has been tested (client+server) against FreeBSD-2.0,
IRIX 5.3 and FreeBSD-current (using a loopback mount).  The version 2 support
is stable AFAIK.
The version 3 support has been tested with a loopback mount and minimally
against an IRIX 5.3 server.  It needs more testing and may have problems.
I have patched amd to support the new variable length filehandles although
it will still only use version 2 of the protocol.

Before booting a kernel with these changes, nfs clients will need to at least
build and install /usr/sbin/mount_nfs.  Servers will need to build and
install /usr/sbin/mountd.

NFS diskless support is untested.

Obtained from: Rick Macklem <rick@snowhite.cis.uoguelph.ca>
1995-06-27 11:07:30 +00:00
Doug Rabson
82aaeb09ad Change ld.so to correctly load dependant libraries for dlopen and unload them
on dlclose.  Also correctly call constructors and destructors for libraries
linked with /usr/lib/c++rt0.o.
Change interpretation of dlopen manpage to call _init() rather than init()
for dlopened objects.
Change c++rt0.o to avoid using atexit to call destructors, allowing dlclose to
call destructors when an object is unloaded.
Change interface between crt0 and ld.so to allow crt0 to call a function on
exit to call destructors for shared libraries explicitly.

These changes are backwards compatible.  Old binaries will work with the new
ld.so and new binaries will work with the old ld.so.  A version number has
been introduced in the crt0-ld.so interface to allow for future changes.

Reviewed by:	GAWollman, Craig Struble <cstruble@singularity.bevc.blacksburg.va.us>
1995-06-27 09:53:27 +00:00
Rodney W. Grimes
4399be3cbd Remove trailing whitespace. 1995-05-30 05:05:38 +00:00
Bill Paul
fa238a7175 Add prototype for ypbinderr_string(). 1995-04-21 18:07:34 +00:00
Bruce Evans
67c54240cd Don't declare rune_t, putenv() or setenv() if _POSIX_SOURCE is declared.
Previously they were only guarded by `#ifndef _ANSI_SOURCE'.  They are
neither ANSI nor POSIX nor std and should never have been declared here.

Declare functions like abs() as having attribute `__pure2'.  Declaring them
as having type `__pure' has been a no-op for some time.

Delete obsolete comment about stub locale functions.

Use consistent formatting for the rand48 functions.  These and about 30
other functions should never have been declared here either.
1995-04-15 23:48:16 +00:00
Garrett Wollman
3688be0eeb Add err_set_file() and err_set_exit() functions to make it possible for
programs which use err(3) to work nicely in a wider range of environments
(e.g., dialog).
1995-04-13 18:04:11 +00:00
Bruce Evans
18c34920f8 Reviewed by: ache and wollman (long ago)
Fix numerous ANSI conformance bugs and other nits.

ctype.h:
o There were no prototypes behind the macros (conformance bug).
o isascii() didn't have enough parentheses (plain bug).
o tolower() and toupper were always static inline (conformance
  bug?  You could undef them and take their address, but this
  gave different addresses in different modules.  You couldn't
  undef them and declare them (correctly) again).  <stdio.h>'s
  treatment of putc() shows one way to handle this problem,
  but it only works because the putc() macro is allowed to
  reevaluate its args.  I used a hack controlled by
  _EXTERNALIZE_CTYPE_INLINES_ to get <ctype.h> to generate the
  code (the previous hack involving _ANSI_LIBRARY_ goes away).
  This has the advantage that the core of the functions is only
  written down once and the disadvantage that another layer of
  functions is required.  The extra layer goes away if inline
  functions are used, leaving only the problem of understanding
  why there are functions named toupper(), __toupper and
  ___toupper() as well as a macro named toupper.
o Nothing seems to define _USE_CTYPE_LIBRARY_.  Eliminate it
o Let the user set _USE_CTYPE_INLINE_ and _DONT_USE_CTYPE_INLINE_
  for full control over inlining.
o The args for the inline functions didn't have enough
  underscores (conformance bug).
o The formatting and ordering was inconsistent (style bug).
o TODO: fix conformance bugs brought by including <runetype.h>.
1995-04-07 11:43:40 +00:00
Andrey A. Chernov
ead39f6e45 Move inline args out of user namespace.
Obtained from: 1.x
1995-04-07 09:56:10 +00:00
Jordan K. Hubbard
03060874ed Add a necessary include file for the catgets* routines.
Obtained from: NetBSD
1995-03-30 12:47:56 +00:00
Jordan K. Hubbard
7f5473b3cc add strhash.h for libc's new string hashing function. 1995-03-26 10:12:53 +00:00
Bill Paul
e13e2475dc Add a couple of extra #defines for special keys to be embedded in the
password databases:

#define _PW_KEYPLUSBYNUM        '5'     /* special +@netgroup entries */
#define _PW_KEYMINUSBYNUM       '6'     /* special -@netgroup entries */
#define _PW_KEYPLUSCNT          '7'     /* number of +@netgroup entries */
#define _PW_KEYMINUSCNT         '8'     /* number of -@netgroup entries */

This is to help getpwent.c in libc build the +@netgroup/-@netgroup
caches.
1995-03-23 00:08:00 +00:00
Poul-Henning Kamp
d7e1495a33 A little fix related to libm/msun migration.
Reviewed by:	phk
Submitted by:	rgrimes
1995-03-22 07:29:58 +00:00
Rodney W. Grimes
1a96efa2b8 Comment out declaration of kvm_uread until it can be fixed correctly. 1995-03-20 16:35:11 +00:00
Rodney W. Grimes
15f7fc2caa Change u_long to unsigned long to be consistent. 1995-03-20 16:17:50 +00:00
Joerg Wunsch
cb0b0e16cd libkvm exports kvm_uread(), so do declare it in the header file.
Got apparent by Philippe's -Wall patch for /usr/bin.
1995-03-19 13:36:49 +00:00
Poul-Henning Kamp
afb8c020f0 Create osreldate.h from sys/conf/newvers.sh if we an find it. This
should take a completely ridiculous reboot out of the "make release"
process...
1995-03-19 07:25:17 +00:00
Rodney W. Grimes
2a3e102a44 Correct chmod of /usr/include/rpcsvc to match mtree file. 1995-03-18 07:04:23 +00:00
Rodney W. Grimes
07cf92fa27 Temporarily add mkdir/chown of /usr/include/${LUDIR} so that things
are consistent with the mtree file.  These and all other mkdir/chown/
chmod calls shall be removed in a future version of this file.
1995-03-18 07:03:51 +00:00
Bruce Evans
97f567ae95 Forward-declare `struct rpc_err' so that it isn't declared inside a
prototype when <rpc/clnt.h> isn't included.
1995-03-12 12:13:37 +00:00
Poul-Henning Kamp
dd8723c2e3 make sys_nerr __const.
Reviewed by:	phk
Submitted by:	ollivier
1995-03-04 20:57:12 +00:00
Nate Williams
c79eac4c4c Weak symbol support from NetBSD. This should bring us in sync with the
NetBSD ld code except for local changes for dlopen() and friends and
the hashing on the minor value of the shlibs.  We should be binary
compatible now with all their libraries.

Obtained from: NetBSD
1995-03-04 17:49:20 +00:00
Bill Paul
3e38f89608 The bootparam protocol file needs some extra includes in FreeBSD in order
to properly resolve some definitions in <nfs/nfs.h>. I suppose nobody noticed
this before because no one's tried to build bootparamd in FreeBSD until
now.

(Yes, you read that right: I've got bootparamd ready to go. And
rarpd is on the way. :)
1995-02-26 21:11:08 +00:00
Poul-Henning Kamp
e4f13e774e Remove a couple of nested comments. 1995-02-24 08:57:45 +00:00
Joerg Wunsch
99909befb6 Make the argument list for the (non-Posix) fchown() consistent with
Posix chown(), and also with the man page.

Submitted by: Doug Rabson <dfr@render.com>
1995-02-16 11:10:24 +00:00
Bruce Evans
02a7dd7637 Define CLK_TCK right. 1995-02-08 18:37:14 +00:00
Jordan K. Hubbard
efa6e5fa69 Support for more Sun compatible dlopen() and friends. Also added proper error
handling.
Reviewed by:	gj
Submitted by:	Mark Diekhans <markd@grizzly.com>
1995-02-07 13:26:39 +00:00
Bruce Evans
339b0f68f2 Define CLOCKS_PER_SEC.
Define CLK_TCK only if _ANSI_SOURCE is not defined.

Don't include <machine/limits.h> to get the definition of CLK_TCK.
CLK_TCK should never have been defined there, and the inclusion
polluted the namespace.
1995-02-03 21:47:48 +00:00
Bill Paul
c70242ae20 Need _PATH_YP for ypserver stuff. 1995-01-31 23:12:53 +00:00
Andrey A. Chernov
8c2f5ad758 Declare useful functions (timelocal() and timegm()) 1994-12-26 10:19:41 +00:00
Nate Williams
d27e9722db Document some of the fields used by the new shlib code.
Obtained from: NetBSD
1994-12-23 22:32:48 +00:00
Andreas Schulz
f8f6d0dc4a Reviewed by: Bruce Evans
Add prototypes for the *rand48 family here in the moment to get them
running again.
1994-11-21 09:25:58 +00:00
Andrey A. Chernov
4c268ef31a By Bruce and Joerg suggestions and by looking into June version
of NetBSD simple #include <stdlib.h> into malloc.h
Put #warning that this file is obsoleted ( by Joerg suggestion)
1994-11-17 11:04:49 +00:00
Andrey A. Chernov
89247e2d78 Add malloc.h for better SYSV/Linux compatibility like most
providers (like SUN f.e.) does.
malloc.h have comment about its SYSVism
1994-11-15 13:42:20 +00:00
Paul Traina
49ccad71de Clean up install rules 1994-11-01 09:19:50 +00:00
Andreas Schulz
bef25be89c Delete the clean and cleandir target and let the bsd.prog.mk do the
work. Error was with the private clean/cleandir pair, the obj under
include/rpcsvc doesn't get cleaned out.
1994-10-31 00:42:20 +00:00
Garrett Wollman
d2b0023cb3 Delete vax' (and i386' and `hp300' etc.) namespace pollution.
Our one supported compiler always defines the double-underscore variant,
so always use that.

Noticed by Bruce Evans after a report by John Capo.
1994-10-30 00:21:30 +00:00
L Jonas Olsson
a5a29f816e Install f2c.h for FORTRAN support.
Obtained from: netlib.att.com
1994-10-26 18:35:40 +00:00
Bruce Evans
b5fd024b77 Improve error detection and handling:
Reduce _JBLEN for the i386 to what is actually used.
	Encapsulate jmp_buf and sigjmp_buf in structs.
	Enlarge jmp_buf to the same size as sigjmp_buf.
	Declare *longjmp as non-returning.

Remove stale comments about sig*jmp not being implemented.
1994-10-25 14:11:35 +00:00
Andrey A. Chernov
09b133a008 Remove EOF handling after Bruce explanation. This step returns
to 4.4 way to not allow EOF in ctype and now all signed chars
(including '\377' which becomes EOF) converted to (unsigned char) properly.
1994-10-09 11:18:44 +00:00
Andrey A. Chernov
262fb20771 Handle EOF case in all macros by ANSI standard.
Cast all ints < 0 to (unsigned char) to fix common problem
with sign extention on signed char.
1994-10-08 17:36:44 +00:00
Bruce Evans
508bd973c1 Don't install symlink frame.h -> machine/frame.h. <frame.h> is nonstandard
and unused.
1994-10-03 04:15:54 +00:00
Paul Traina
620377c466 Only reinstall osreldate.h if necessary 1994-09-29 21:29:22 +00:00
Paul Traina
26d43d5130 skey.h has moved elsewhere 1994-09-29 21:17:49 +00:00
Paul Traina
66a9a51572 Define _PATH_FTPUSERS 1994-09-29 09:20:10 +00:00
Paul Traina
1363f04ce1 get* rework and new bind code 1994-09-25 02:12:49 +00:00
David Greenman
67866c4075 Woops, include machine/exec.h, too. 1994-09-24 21:49:20 +00:00
David Greenman
3eb3f8f32a Include imgact_aout.h rather than exec.h 1994-09-24 21:38:56 +00:00
Garrett Wollman
4be4929c2b Get rid of _PATH_UNIX completely; use getbootfile(3) instead.
DANGER WILL ROBINSON!
_PATH_UNIX is currently defined as the literal string "don't use this".
I am of two minds about this myself, but wanted to get something into the
tree as quickly as possible.
1994-09-24 00:08:43 +00:00
Garrett Wollman
6913240fbc Add a new field to the passwd structure, indicating which of the fields have
something in them, and which ones were left blank.  This will be used
for YP support in a few minutes, and for user login classes if anyone cares
to implement them.
1994-09-20 01:12:04 +00:00
Garrett Wollman
7d39692365 Declare [gs]etdomainname(). 1994-09-18 21:09:10 +00:00
Bruce Evans
458c5c89e7 Install osreldate.h with the correct owner, group and mode. It is still
created at install time and not compared with the current version, so
it can't be installed using install and the timestamp of the target gets
clobbered.
1994-09-15 20:07:18 +00:00
Bruce Evans
218cd6b6e1 Don't install math.h if WANT_MSUN is defined. lib/msun has its own
math.h with many extensions.
1994-09-08 10:36:30 +00:00
Bruce Evans
2868e9618b Declare functions that don't return as having attribute __dead2. 1994-09-08 10:29:15 +00:00
Gary Palmer
2069b09ad3 Add defines to allow pwd_mkdb to build databases in a specified
directory - removing the need to hardcode /etc into pwd_mkdb
1994-09-07 22:58:26 +00:00
Bruce Evans
f34a7038a6 Use ${ECHO} instead of echo' so that make -s' is fairly quiet. 1994-08-28 17:44:10 +00:00
Paul Richards
385e380a6a Changed idempotent strings to reflect directory area.
Reviewed by:
Submitted by:
1994-08-21 04:05:05 +00:00
Paul Richards
54b0ee633c Made them idempotent.
Reviewed by:
Submitted by:
1994-08-21 04:03:58 +00:00
Paul Richards
d90963f5e4 Added skey.h to Makefile and reformatted the list a bit.
Reviewed by:
Submitted by:
1994-08-20 12:00:06 +00:00
Paul Richards
1e32938f17 Brought it over form 1.1.5
Reviewed by:
Submitted by:	Paul Richards
1994-08-20 10:48:18 +00:00
Garrett Wollman
9ae159169a Make it easier for programs to figure out what revision of FreeBSD they
are running under.  Here's how to bootstrap (order is important):

1) Re-compile gcc (just the driver is all you need).
2) Re-compile libc.
3) Re-compile your kernel.  Reboot.
4) cd /usr/src/include; make install

You can now detect the compilation environment with the following code:

#if !defined(__FreeBSD__)
#define __FreeBSD_version 199401
#elif __FreeBSD__ == 1
#define __FreeBSD_version 199405
#else
#include <osreldate.h>
#endif

You can determine the run-time environment by calling the new C library
function getosreldate(), or by examining the MIB variable kern.osreldate.

For the time being, the release date is defined as 199409, which we have
already established as our target.
1994-08-10 06:25:07 +00:00
Garrett Wollman
437c3dee7c Make sure that rpcsvc headers actually get installed. 1994-08-07 22:29:20 +00:00
Garrett Wollman
86b9a9cc2d Use the header files that are compatible with the code just moved over
from 1.1.5.
1994-08-07 18:41:02 +00:00
Garrett Wollman
02474d6701 histedit.h is now installed from here, not from libedit. 1994-08-04 20:49:28 +00:00
Garrett Wollman
dba7a33ecc Install RPC headers from include, like they always should have been. 1994-08-04 20:39:34 +00:00
Garrett Wollman
a68c32c7b3 Added glueo build rpcsvc stuff, and install floatingpoint.h. 1994-08-04 19:04:38 +00:00
Garrett Wollman
75b6313053 Moved 1.1.5 RPC service files from 1.1.5. Tese are the correct ones;
the ones in /usr/src/lib/librpc/rpcsvc are somewhat bogus and will
be deleted.

Submitted by:	Original work in 1.1 by J.T. Conklin.
1994-08-04 19:01:57 +00:00
Rodney W. Grimes
ee9183faff Add link.h to list of headers to install. 1994-05-28 09:37:33 +00:00
Rodney W. Grimes
3a7b365fa1 Make comments about what is missing the same as in other makefiles.
Remove the commented out stuff about X11 as the system sources should
not be doing anything with X11.
1994-05-28 06:17:33 +00:00
Rodney W. Grimes
fb502a37dc Update the Makefile to work correctly when copying and/or symlinking
/usr/include.

Make comment about mp.h missing and remove it from the list of files.
Fix installation of ufs include files as this is now a tree ufs/{ffs,lfs,
mfs,ufs}.

Make setting of SHARED optional by makeing it SHARED?=.

Comment out installation of X11 includes since it does not work
for XFree86 until we get XFree86 to install as /usr/X11.

Update _PATH_UNIX to be /kernel.  Remove /usr/{contrib,old}/bin from
_PATH_STDPATH.
1994-05-26 13:48:52 +00:00
Rodney W. Grimes
59deaec541 BSD 4.4 Lite Include Sources 1994-05-24 09:57:34 +00:00
Jordan K. Hubbard
a70c96594a This is the new link.h from Paul K. Keeping history is even probably a bad
idea considering the old version (but I haven't time for attic surgery - this
is just a caution).  This is part of (and the major reason for) the new ld
changes.
1994-02-13 20:47:18 +00:00
Paul Richards
90f2ed3a8f Added link.h for shared libs. 1993-11-03 23:48:30 +00:00