Commit Graph

217 Commits

Author SHA1 Message Date
peter
87147b124f - Prototypes, including pointers to functions
- C++ safe
1996-12-30 14:01:12 +00:00
peter
01fe186ccd First commit of a series of cleanups for the libc rpc code which has been
suffering a bad case neglect for the last few years.

- Add full prototypes, including to function pointers.
- Make the wire protocols 64-bit type safe, eg: 32 bit quantities are
  int32_t, not long.  The orginal rpc code was implemented when an int
  could be 16 bits.

Obtained from: a diff of FreeBSD vs. OpenBSD/NetBSD rpc code.
1996-12-30 13:59:41 +00:00
peter
6c9f5fc903 Update 4.9.4-P1 -> 4.9.5-P1
Included here are definitions for the DNSSEC key management stuff.
1996-12-30 13:10:35 +00:00
peter
7fd89256f8 Update the resolver definitions from bind-4.9.4-P1 to 4.9.5-P1 level.
(More commits to come)
1996-12-30 13:08:54 +00:00
jkh
78628421ee Geeze, I'm really off-target on my Makefile hacking tonite. Guess I'll
go to bed. :-)  Revert this change which would have broken the ${DESTDIR}
relative link when chrooted.

Pointed-Out-To-My-Embarassment-By: bde
1996-12-30 07:38:51 +00:00
jkh
d4fcccc481 Add some missing ${DESTDIR}s here. 1996-12-30 04:52:54 +00:00
imp
ed3b2d55d7 string.h defines nonstandard routines when _POSIX_SOURCE is
defined.  It has been fixed to not do that.

Submitted by:	Jake Hamby <jehamby@lightside.com>
Closes PR:	1954
1996-12-17 19:35:43 +00:00
ache
c16a2f004f Fix compiler warning: /* inside comment
2.2 candidate
1996-12-05 14:46:57 +00:00
jkh
61bb20d91f 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
phk
2d3a80e08a 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
wollman
8cb5385369 Matching routed.h to go along with latest routed. 1996-11-19 21:22:18 +00:00
hsu
6f7bb7776f Change prototypes for gmtime_r() and localtime_r() in accordance with
IEEE pthreads specification.
1996-11-11 09:22:13 +00:00
hsu
d76a6335ff Prototype pthread_mutexattr_getkind_np() and pthread_mutexattr_setkind_np(). 1996-11-11 09:21:19 +00:00
hsu
81fb20ff55 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
ache
0333cf4df1 Remove collate_range_cmp 1996-10-31 14:41:30 +00:00
wosch
f334537e79 improve comments for UT_NAMESIZE 1996-10-27 18:13:35 +00:00
bde
ea6cdba879 Fixed tabs and punctuation to match nearby (and KNF) style. Sigh. 1996-10-24 04:05:54 +00:00
ache
0ab3891545 GNU-style changes:
1) Rename FNM_ICASE to FNM_CASEFOLD
2) Add FNM_LEADING_DIR
1996-10-23 16:42:33 +00:00
wosch
7a03305256 add flag FNM_ICASE for case insensitve search
Reviewed by: ache
1996-10-20 15:15:59 +00:00
jkh
91c672ea5c Add back netns 1996-10-17 18:44:56 +00:00
scrappy
8807500c26 Fixed the wrong include file for a "prototype mismatch" error between
dlfcn.h and link.h
1996-10-08 01:38:36 +00:00
scrappy
97f58e564d 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
b4607335a6 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
347be85679 Add the linker set stab types: N_SETA N_SETT N_SETD N_SETB N_SETV 1996-10-01 00:01:43 +00:00
bde
b5150c5cb5 Fixed CLEANFILES. osreldate was missing.
Cleaned up LDIRS line.
1996-09-20 13:42:26 +00:00
bde
071f2afd3e 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
015e1a6e2e install rpc header files 1996-09-01 17:54:25 +00:00
peter
3ed13a096a 'make install' is not supposed to touch anything. 1996-08-30 22:36:45 +00:00
peter
6e0e76e4a6 missed these parts of Bruce's changes last time..
Submitted by: bde (again :-)
1996-08-30 21:57:39 +00:00
peter
becaecdbd6 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
dcf42f1da7 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
c6b65eb556 Hand merge in the bind-4.9.4-P1 resolver updates. 1996-08-29 20:01:00 +00:00
peter
c0fe7826f2 replace cmp -s || install with ${INSTALL} -C, and @for with .for 1996-08-29 19:59:48 +00:00
peter
7ee559d551 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
wollman
d3bff4e978 New version of routed.h to match new version of routed. 1996-08-27 16:21:34 +00:00
julian
e9a033ea39 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
ache
638131c27e #if !ANSI !POSIX newly added collate_range_cmp function 1996-08-13 14:01:40 +00:00
ache
1bd0a717c6 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
wosch
bbe6406e98 Create FreeBSD copyright (c comment) for OS version 1996-08-04 22:34:23 +00:00
wollman
a4bd388307 New routed.h that goes with the new routed. 1996-07-22 21:14:48 +00:00
bde
389718ae35 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
jkh
47de21e822 General -Wall warning cleanup, part I.
Submitted-By: Kent Vander Velden <graphix@iastate.edu>
1996-07-12 19:24:27 +00:00
ache
2f0de54430 Add netatalk symlink, ifconfig not compiled in other case 1996-07-09 15:48:20 +00:00
wpaul
f3696d0409 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
wosch
d26db9c388 remove zopen, zopen is not part of libc. 1996-07-02 23:04:50 +00:00
smpatel
7507c39021 Added missing prototype for sigaltstack() 1996-06-28 04:27:04 +00:00
wollman
6c20d93f4d Add `netkey' to list of kernel directories to include in /usr/include. 1996-06-15 18:05:36 +00:00
wollman
21909e718d 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
wpaul
afb814364a 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
wpaul
2209006899 This commit was generated by cvs2svn to compensate for changes in r16119,
which included commits to RCS files with non-trunk default branches.
1996-06-05 02:42:33 +00:00
phk
1f82ebc850 Install pccard includes. 1996-06-04 21:30:35 +00:00
wollman
47ad8ec68d Protocol definitions for RIPv2.
Obtained from: Vernon Schryver <vjs@mica.denver.sgi.com>
1996-05-30 16:31:04 +00:00
peter
efadb5e609 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
bde
ac9086506e Made this work with the documented prerequisite #includes (none). 1996-05-01 00:57:57 +00:00
bde
3554b1c286 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
ache
a87eeed3e9 Fix sgetrune/sputrune arg type: was unsigned int instead of size_t 1996-04-18 07:13:42 +00:00
wpaul
477ce4c789 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
ache
ada009660c Slightly simplify inlined functions 1996-03-25 13:46:21 +00:00
paul
72bc597709 Fix incorrect parameter types for ftell and fgets. 1996-03-24 15:51:45 +00:00
jkh
af6a127808 Don't reference ndbm(3) manpage. Everything is covered by db(3). 1996-03-03 09:04:40 +00:00
pst
4f238e845f 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
pst
4e078a71ec Incorporate v1.85 of the Berkeley DB code into the CSRG branch 1996-02-27 02:40:48 +00:00
wpaul
1c2a645af9 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
3ce8274a11 Add prototype for rfork(). 1996-02-23 19:45:46 +00:00
wollman
a6c3275bd4 Don't install netns, it doesn't exist any more. 1996-02-14 15:17:53 +00:00
wollman
4b61e8528b Don't install netccitt and netiso, they are going away. 1996-02-06 20:42:46 +00:00
hsu
e110ba6bad 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
mpp
882eb5d844 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
mpp
0f90754a60 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
7d834f267b Submitted by: john birrel
Obtained from: uthread package

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

changes for threadsafe operations
1996-01-22 00:02:33 +00:00
peter
17a841f779 Update resolver include files to bind-4.9.3-rel level 1996-01-07 05:01:52 +00:00
peter
ad125bf277 recording cvs-1.6 file death 1995-12-30 19:02:48 +00:00
peter
6470cdf2a0 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
639da796bd recording cvs-1.6 file death 1995-12-30 19:02:48 +00:00
wpaul
51243920ae *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
wpaul
ed3854b153 *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
wpaul
f05029441a "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
markm
7ec88954ab Removed reference to missing mp.h in comment. We have GNU MP now. 1995-11-12 19:29:08 +00:00
ache
87291ed476 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
603dbda976 Submitted by: john hay
add a link in /usr/include to /sys/netipx
1995-10-27 06:51:02 +00:00
ache
5f523cbf87 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
ache
6a87ca9243 Add _PATH_LOCK: /var/spool/lock/
Suggested-by: bde
1995-09-20 13:01:04 +00:00
peter
53fa6cfd89 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
fa588c6539 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
bde
0a591c5133 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
wollman
321fa22f37 Don't install bogus tzfile.h. In fact, don't install any tzfile.h. 1995-08-05 20:24:32 +00:00
rgrimes
754e62e687 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
rgrimes
7f97c6f6cf 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
wollman
b69815d2ef 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
wollman
aca43e6cf8 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
bde
82aee7f764 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
dfr
654515d655 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
dfr
53a0558e1b 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
rgrimes
8988b74eb8 Remove trailing whitespace. 1995-05-30 05:05:38 +00:00
wpaul
74090680ff Add prototype for ypbinderr_string(). 1995-04-21 18:07:34 +00:00
bde
efd95cb28d 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
wollman
e89d31a9aa 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
bde
6cc33ffc5e 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
ache
e400d1c34b Move inline args out of user namespace.
Obtained from: 1.x
1995-04-07 09:56:10 +00:00