Commit Graph

307 Commits

Author SHA1 Message Date
cgd 981d496969 Change file system file-open semantics slightly: if file system returns
EINVAL, that error code is ignored, leaving whatever other meaningful
error code that might have previously been returned intact.  Stand-alone
file system implementations return EINVAL typically when the file system
is not recognized (i.e. cd9660_open on a UFS file system, ufs_open on a
cd9660 file system, etc.).  This meant that if you had multiple file
systems in a file system switch, the first returned ENOENT (because
it recognized the file system type, but the file wasn't there) and
the second returned EINVAL (because it didn't recognize the file system
type), errno would be set to EINVAL.  Now it'll be set to ENOENT.

It would probably make sense to have file systems return a special
error code to indicate "this file system is unrecognized," which
could then be special-cased, but that's a fair bit more invasive.
1997-01-25 01:13:41 +00:00
cgd da4932bff2 add EINVAL and ENOTDIR, as suggested by Matthias Drochner 1997-01-25 00:37:50 +00:00
cgd 192e22f5b7 isonum_722 and isonum_732 are now back in iso.h 1997-01-24 00:53:40 +00:00
cgd 6f0de181b1 update for iso.h changes which remove the need for the nastiness that was here 1997-01-24 00:29:19 +00:00
cgd 3ca5f41d59 clean up substantially. Transform clean, depend, cleandir targets from ::
to :, so they can be used e.g. with <bsd.prog.mk>.  Standardize variable
names used to configure kernel libraries.

Variables used by these Makefile.inc's are:

S		must be set to the top of the 'sys' tree.
${LIB}DST	may be set to the location of the directory where library
		objects are to be built.  Defaults to ${.OBJDIR}/lib/${lib}.
${LIB}_AS	may be set to 'obj' to build a object from the library's
		object files.  (Otherwise, a library will be built.)
		Defaults to 'library'.
${LIB}MISCMAKEFLAGS
		Miscellaneous flags to be passed to the library's Makefile when
		building.  See library's Makefile for more details about
		supported flags and their default values.

(where LIB is KERN, SA, or Z, and lib is kern, sa, or z, depending on which
library's Makefile.inc is being discussed.)
1997-01-23 22:29:07 +00:00
cgd 2ce4559663 clean up variable use, standardize with other kernel library Makefiles.
rename 'NO_NET' variable to SA_INCLUDE_NET, which defaults to 'yes' but can
be set differently.  kill EXTRACFLAGS, add SACPPFLAGS (generated from
CPPFLAGS by Makefile.inc) to CFLAGS.  Add support for including gzipped-file
read support, enabled by setting SA_USE_CREAD to yes (defaults to no).
1997-01-23 22:19:56 +00:00
cgd ea27b7aa31 Add a whole bunch of features, from Matthias Drochner:
best-fit, rather than first-fit, algorithm.
	ability to handle free()s with zero size (needed for gzip read
	    support).
	ability to start the heap someplace else (defined by HEAP_START).
	ability to limit growth of the heap (via HEAP_LIMIT).
	debugging sanity checks (ifdef DEBUG).
	allocation tracing support, to help debugging (ifdef ALLOC_TRACE).
and from me:
	ability to pick a (smaller) first-fit algorithm (via ALLOC_FIRST_FIT).
	lots of comments.

If heap limits and all of the debugging features are disabled (the default),
and ALLOC_FIRST_FIT is defined (not the default), compiled with -O on the
alpha the new version is the same (object) size as the old version.
1997-01-22 01:18:23 +00:00
cgd 862c1d585c code to open/close/read/lseek gzipped files, from Matthias Drochner. 1997-01-22 00:40:07 +00:00
cgd 21979e8d6b define these functions with an 'o' prepended to their names if
__INTERNAL_LIBSA_CREAD is defined (so that they can be used by the
compressed-read code).
1997-01-22 00:38:09 +00:00
cgd b581a80665 prototype lseek(). also, prototype oopen(), oclose(), oread(), and olseek()
if __INTERNAL_LIBSA_CREAD is defined.
1997-01-22 00:37:23 +00:00
cgd 493bd9e110 fix file system buffer leak that occurs if an error occurs (e.g. file not
found) during the file system open function after having read some data
from the disk.  From  Matthias Drochner (PR 3120).
1997-01-17 20:17:58 +00:00
cgd 9596fd8a77 only call the device close routine on a (fall-through) error if
F_NODEV isn't set in the file flags for the file being opened.
Pointed out by Matthias Drochner in PR 3122.  (fix equivalent to
the one he included, but stylistically different.)
1997-01-17 20:03:53 +00:00
mikel 9be91c7fb4 fix my typo; found by Klaus Klein <kleink@layla.inka.de> 1997-01-17 17:06:06 +00:00
mikel 313f6180e6 add prototypes for ethers(3) functions; fixes PR 2471.
fix suggested by Jason Thorpe.
1997-01-17 08:17:57 +00:00
cgd b1f42c3a13 add memcmp, implemented as a wrapper around bcmp() (like memcpy() is
implemented as a wrapper around bcopy()).
1997-01-16 04:06:15 +00:00
christos 3ec6dad0f1 Typo police from: Juergen Hannken-Illjes 1997-01-02 22:06:51 +00:00
pk 12729c12d1 Add missing `#ifdef NFS_DEBUG' (from Rolf Grossmann; PR#3061). 1996-12-27 11:55:58 +00:00
christos 2c8d554885 PR/2981: use ${VAR:Q} instead of "${VAR}" to avoid quoting problems 1996-12-26 21:32:08 +00:00
pk bd9ec27d9e kvprintf => vprintf (PR#2989, Juergen Hannken-Illjes). 1996-12-01 20:22:19 +00:00
gwr 033eec34ec Oops... get the vprintf prototype right. 1996-11-30 04:35:51 +00:00
gwr ecfe88202c Add declaration for vprintf. 1996-11-30 04:20:14 +00:00
gwr dfc25d8ab4 Finish the kprintf backout: kvprintf -> vprintf was missed. 1996-11-30 04:19:21 +00:00
thorpej a5461e87e1 Delete spurious #endif 1996-10-14 21:16:55 +00:00
cgd 40bcaca9ac fix a bogon in some new functionality apparently added in the last
commit (which was supposed only to back out the printf->kprintf changes).
The new functionality is: if the user enters control-D, return an error.
1996-10-14 04:49:21 +00:00
christos e44c1d1f33 backout previous kprintf changes 1996-10-13 02:28:58 +00:00
christos 92a808f167 backout previous kprintf changes 1996-10-13 02:21:25 +00:00
christos 60d201973e printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:46:11 +00:00
christos 2b33d9d53a - printf -> kprintf, sprintf -> ksprintf
- use a debugging printf macro instead of #ifdef #endif everywhere.
1996-10-10 22:45:37 +00:00
thorpej 63a2506f79 Merge netbsd-1-2 branch back into mainline. 1996-10-09 01:15:04 +00:00
cgd bd581c1c73 fix several endianness bugs that caused name lookup (!!) and symlink
expansion to fail on little-endian machines.
1996-10-02 20:28:26 +00:00
ws 31afb65969 Remove superfluous -I. accidently introduced when I imported the PPC port 1996-10-02 16:19:51 +00:00
ws fd225e6527 Add support for booting from cd9660 fs
Support directory traversal and symbolic links for nfs booting
Close device when file opening failed
Plug memory leak in ufs code
1996-09-30 16:01:18 +00:00
cgd bbfe67624b enough 64-bit fixes to make network booting work on the Alpha. In general,
these are hacks (s/long/int/, etc.), but this code really needs a heavy
cleaning (including fixed-size typing) and I don't have time to give it one
now.
1996-09-26 23:22:01 +00:00
cgd f496a53cbf make sure new allocations are aligned. 1996-09-26 23:15:00 +00:00
cgd 8042054add remove some unnecessary and broken casts on char *'s which are being subtracted 1996-07-10 18:41:38 +00:00
cgd 910efd056e nfs_read and nfs_write return 'int' rather than ssize_t. 1996-07-10 18:32:33 +00:00
pk 51347fcaaa Return useful file descriptor when opening a raw device. 1996-06-21 20:51:23 +00:00
pk 68f420b593 Oh, what's in a name.. 1996-06-21 20:29:28 +00:00
pk b461ef1d17 Allow seeks on raw devices. A `f_offset' field is added to the file structure
which is maintained in lseek(), read() and write(), and passed along to
the device's strategy routine.
1996-06-21 20:09:03 +00:00
pk 433594b99d missing semicolon 1996-06-03 22:11:23 +00:00
ragge 28061842a2 Fix include file order to confirm to KNF in master tree also. 1996-06-02 13:28:21 +00:00
leo c9a8578d2b Fix gcc -Wall warnings about printf arguments. 1996-05-14 10:28:18 +00:00
mycroft e901286aad When sending an ARP request, use the interface address for the route, rather
than the first address assigned.  This gives slightly different behaviour in
the presence of aliases.  From Bill Fenner, via Pete Bentley.
1996-05-11 12:59:55 +00:00
gwr 056810ed99 Make this code independent of <sys/nfs> now that we use very little
from there anyway, so we can ignore changes in the NFS code...
1996-02-26 23:05:14 +00:00
scottr 6a0803ca9a Make these build again in the wake of the v3 changes 1996-02-26 21:50:07 +00:00
scottr c24557134f Needed for NFS booting; we aren't likely to use v3 here any time soon. 1996-02-26 21:49:34 +00:00
christos 14d9cd33af netinet prototypes 1996-02-13 23:40:59 +00:00
gwr b3ba75d64e use vprintf where appropriate 1996-02-09 16:10:59 +00:00
gwr 7ce27395a6 Need vprintf() for things like panic(). 1996-02-08 20:19:36 +00:00
thorpej 43349cd7ef Add a memcpy() function, just a cheezy wrapper around bcopy(). Yes,
it's really true...we didn't have one before, even though the Makefile
thought we did.  (Yes, I checked the Attic...)
1996-01-30 19:45:34 +00:00
gwr 38c7f668a2 Clean-up open/close logic of "net" device. Fixes PR 1726 1996-01-29 23:54:14 +00:00
leo b7b97847ce Some files containing more than one function are split. This reduces the
size of the resulting loader. The read_inode() function now returns the
result of the strategy function instead of success in all cases (ufs.c).
Fixes pr#1817
1996-01-13 22:25:32 +00:00
pk 284c0cd0b1 Make `time difference' a signed quantity explicitly. 1995-12-13 23:38:10 +00:00
gwr 63a836a44a Check return value from sendrecv so that ARP timeout does not cause
garbage to be entered into the ARP table.  Also fix ARP_DEBUG code.
1995-12-08 04:12:53 +00:00
gwr 63e145ebd7 Correct error which caused truncation of port number on i386 (PR#1823) 1995-12-08 04:10:28 +00:00
thorpej 87093145ce Use bzero() instead of memset(..., 0, ...). 1995-11-29 06:12:08 +00:00
cgd dfad729a16 make netinet work on systems where pointers and longs are 64 bits
(like the alpha).  Biggest problem: IP headers were overlayed with
structure which included pointers, and which therefore didn't overlay
properly on 64-bit machines.  Solution: instead of threading pointers
through IP header overlays, add a "queue element" structure to do
the threading, and point it at the ip headers.
1995-11-21 01:07:34 +00:00
cgd 40a4907f5e oops; i forgot these u_int -> size_t conversions. 1995-10-20 01:35:25 +00:00
cgd 51f39e4840 fix prototypes here, to match u_int->size_t changes in ufs.c 1995-10-20 00:54:17 +00:00
cgd 6c46625cf7 cast pointer to long, not int 1995-10-20 00:47:47 +00:00
cgd 2677a05d99 fix spacing in header 'room to leave' comment 1995-10-20 00:46:30 +00:00
cgd e7290be2cd add prototypes for static functions. make ffs_oldfscompat static.
fix some arguments and structure members, in recognition of the fact
that (u_int == u_long == size_t) is not true on all systems.
1995-10-20 00:42:21 +00:00
pk 600acb3b06 Conditionalize ancient `@' and `#' erasors. 1995-10-11 21:16:57 +00:00
phil 1f494d0265 Don't add network files to SRCS if NO_NET is defined. (I'm getting
very short of disk space on STEELHEAD!)  The pc532 doesn't use the
network (yet?) from boot.
1995-10-01 06:00:32 +00:00
pk de4e651542 Careful with initializers. 1995-09-27 23:14:57 +00:00
thorpej df8c694f7e Add an inet_addr() function; return network-order numeric representation
of an IP address from `aa.bb.cc.dd'-style text input.
1995-09-23 17:14:40 +00:00
gwr 23ee56022d Cleanup, and catch up with libsa changes. 1995-09-23 03:42:17 +00:00
gwr 6f2a9404ee More cleanup: change some private types to eliminate casts,
replace some "goto xxx" with return(-1). (mostly cosmetic)
1995-09-23 03:36:06 +00:00
gwr bdad6c4104 Fix/improve some comments. 1995-09-23 03:31:50 +00:00
thorpej c9a13fa080 Assume that if devopen() points `file' at a NULL that a raw device was
opened (as opposed to only checking to see if `file' itself is NULL).
1995-09-19 09:16:52 +00:00
pk d9124da47f Another round of clean up, including fixes presented by Matthias Drochner
(PR#1404). Things to be noted:
	- all IP addresses are now `struct in_addr's.
	- the function rarp_getipaddress() no longer return `myip'; in stead
	  it returns -1 on failure (errno set), 0 on success. `myip' is set
	  as a size-effect.
1995-09-18 21:19:18 +00:00
pk f5cf4bbc37 De-activate DEBUGFLAGS again. 1995-09-17 01:01:07 +00:00
pk 82e5cf06bc Revert fs_ops read/write declarations; these return error numbers.
Get rid of some more compiler warnings.
Set errno where appropriate.
1995-09-17 00:49:37 +00:00
pk 84c517c128 Clear up some size_t/ssize_t confusion. 1995-09-14 23:45:21 +00:00
pk 0c92121b3f Mirror libkern makefiles. 1995-09-14 20:55:00 +00:00
gwr 0081434965 Correct the padding to min Ethernet packet size. 1995-09-13 15:06:12 +00:00
thorpej eb50acd998 Changes from Gordon Ross:
a) check against `my' ethernet or broadcast addresses done in
	   ether.c
	b) changed interface to readether() to provide ethertype info
	c) respond to arp requests when appropriate.
First two are clean-up.  Last fixes hp300 and presumably mvme68k netboot
code.
1995-09-11 21:11:36 +00:00
pk 07f70f97f1 Avoid calling device-close routine when open() not completed. Otherwise you
lose if this sequence occurs: open()->devopen()->...->panic()->closeall().
1995-09-06 19:53:27 +00:00
pk 848dfdfec6 Fix bogus numerical conversion by using sprintf(); 1995-09-03 20:56:14 +00:00
pk 8ede82abe2 Merge an sprintf() in. 1995-09-03 20:51:21 +00:00
pk 904eed507d Add a driver hook to the `netif' structure. 1995-09-03 20:49:38 +00:00
gwr b090a64678 Add bcea[] here now that is is gone from arp.c 1995-08-08 20:59:07 +00:00
thorpej 9800370998 Fix off-by-one error when padding text segment. 1995-08-04 07:37:03 +00:00
thorpej fb56ae3095 Kill extra declaration of bcea[]. It's also defined in globals.c. 1995-08-04 01:17:26 +00:00
gwr 0a035e5e9f Can not use htonl() in static initializers. (Fixes PR 1188) 1995-07-03 04:56:33 +00:00
gwr 2d83203f6a Build all RPC requests with AUTH_UNIX (thanks to Chuck Silvers) 1995-07-03 02:59:16 +00:00
gwr b4c3997cb9 Support functions for NFS boot (get server address and root path). 1995-06-27 15:32:40 +00:00
gwr 539a3bff11 Modified to do less copying, and to allow determination of
the address from whence the reply has come.
1995-06-27 15:28:58 +00:00
gwr 1fe28794f3 Fix ARP opcode, add more debugging prints. 1995-06-27 15:27:24 +00:00
gwr 55eb5a12f1 Re-work for new rpc interface, and simplify a bit. 1995-06-27 15:25:30 +00:00
gwr d7e1ef6af2 Pad HEADER_SIZE for alignment. 1995-06-27 15:23:18 +00:00
gwr 0e4efb30ef Pad the request out to the minimum Ethernet length.
Improve some debug prints...
1995-06-27 15:18:57 +00:00
mycroft 6897f39ae9 Various cleanup, including:
* Convert several data structures to use queue.h.
* Split in_pcbnotify() into two parts; one for notifying a specific PCB, and
one for notifying all PCBs for a particular foreign address.
1995-06-12 00:46:47 +00:00
gwr 8e179d8e95 Have netboot! 1995-06-09 22:02:39 +00:00
cgd dd614d8474 parenthesize macro arg usage 1995-05-16 05:26:36 +00:00
cgd 05af191f3b spacing fixups and KNF. #define ether address size, so it's not
hardcoded as '6' all over.
1995-05-15 01:30:44 +00:00
cgd b835913465 first arg to open() is a 'const char *'. pointed out by David Brownlee
in pr 1004.
1995-04-30 03:57:54 +00:00
cgd 586427643d various attribute poisoning, don't be as quick to specify size of files[] 1995-04-22 13:57:03 +00:00
cgd 4316c36ca7 cast pointers to longs 1995-04-22 13:53:48 +00:00
cgd 07231e5b52 note properly whether or not functions return, etc. 1995-04-22 13:51:19 +00:00
cgd 60b1ffa877 cast ptrs to longs, etc. 1995-04-22 13:50:27 +00:00
cgd 06b2dbd4dd cast ptrs to longs. 1995-04-22 13:47:52 +00:00
cgd 84d0d2f495 various type fixups 1995-04-22 13:46:50 +00:00
cgd c03b53c2e8 spacing cleaup. also, minor type mixup fixups. 1995-04-17 05:32:52 +00:00
cgd b5b72d26ea be a bit more careful and explicit with types. (basically a large no-op.) 1995-04-13 06:25:36 +00:00
mycroft 2f30839b62 Remove now unneeded #ifdef. Prototype new function. 1995-04-10 00:06:54 +00:00
briggs 6efcd1b6d4 KERNEL -> _KERNEL 1995-03-29 21:57:43 +00:00
jtc 7c04233887 KERNEL -> _KERNEL 1995-03-26 20:23:52 +00:00
glass af55380e5a remove references to arptnew. fix spelling error 1995-03-06 19:06:05 +00:00
glass 48b5b94c4f fix some typos. from frank@fwi.uva.nl (Frank van der Linden) 1995-02-27 09:10:24 +00:00
mycroft 3757efcbfc Clean up a little. 1995-02-21 10:14:53 +00:00
mycroft 97cf758f6d Add EFTYPE. 1995-02-21 07:52:45 +00:00
mycroft cba39e9e88 Correct some error strings, and add a few more. Don't print error messages in
exec(); let the caller do it.
1995-02-21 07:38:37 +00:00
mycroft 248e7ebfb0 Update prototypes. 1995-02-21 07:16:24 +00:00
mycroft d031ff677c exec() doesn't need to return a value. 1995-02-21 07:14:37 +00:00
mycroft 2af23945b3 Add the security check in the hp300 code, and clean a little. 1995-02-21 06:56:06 +00:00
mycroft 2d7464c4b9 Add a generic twiddler. 1995-02-21 06:33:22 +00:00
mycroft 258efc53df Various:
* Fix some misused types.
* Encapsulate the protocols better.
* Rearrange the RPC stuff to work more like the kernel.  (Needs more work.)
* Remove a bunch of extra hair when reading a file over NFS.
* Use RPCAUTH_UNIX when talking to the NFS server.
1995-02-20 11:04:00 +00:00
mycroft fcf2c007f3 Define netif_debug in here. 1995-02-20 00:19:09 +00:00
mycroft ffd9c97e2a Add some more diagnostic info. Increment the xid in a better place. 1995-02-19 23:52:18 +00:00
mycroft ad21848143 Adjust the attribute info size for our NFS code. 1995-02-19 23:51:39 +00:00
mycroft 61c45cc32e Remove duplicate defn of bcea. 1995-02-19 17:04:46 +00:00
ws dcb3f5a8b8 Better fix for the last.
Worked this out together with Darren Reed.
This one fixes several bugs, plus it's closer to the original
1995-01-07 20:53:31 +00:00
pk 2f25eb5231 Update symbolic-link handling, from Darren Reed. 1995-01-06 00:22:58 +00:00
deraadt 9df57d6a8e round text segment to __LDPGSZ bytes 1994-11-25 23:08:31 +00:00
cgd 6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +00:00
cgd 6668f51c96 new RCS ID format. 1994-10-26 05:44:32 +00:00
brezak 6f0b0cdc86 Cleanup to make more ANSI compliant; checkpoint 1994-08-22 21:55:58 +00:00
pk ff05bd4bc1 Echo terminating NL too. 1994-08-09 14:00:06 +00:00
brezak c2e9be0873 Make libsa compile again by not including sys/errno.h 1994-08-04 19:39:32 +00:00
cgd d5bc01994f include libkern.h 1994-07-27 07:58:45 +00:00
cgd de29b5d301 get includes from sys, and define KERNEL 1994-07-27 07:40:52 +00:00
cgd 20b21822a4 use ALIGN, rather than hard-coded numbers 1994-07-27 07:39:17 +00:00
cgd ab51cf264b make bcopy work for overlapping regions, as is standard. 1994-07-27 07:38:17 +00:00
cgd 4b0d7d9d90 get rid of someone else's bravery (stupidity) 1994-07-27 07:37:25 +00:00
mycroft 5b619bed0f Add some more constants. 1994-07-24 01:22:01 +00:00
pk fc5405fc33 do echo. 1994-07-18 18:42:06 +00:00
pk 8e2c980509 Avoid descriptor leakage. 1994-07-18 18:41:12 +00:00
pk b4a094da43 Include ffs_oldfscompat() from ffs_vfsops.c; enables booting from pre-44
filesystems (on big-endian machines).
1994-07-18 13:08:09 +00:00
cgd cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
pk c6a70c0ca9 Further adaptions to 4.4-lite header files. 1994-06-20 08:39:01 +00:00
glass d2ec31313f make it compile w/4.4-lite header file changes 1994-06-20 07:50:17 +00:00
hpeyerl d649b1e46a s/REVARP/ARPOP/
(duh; thanx Gordon)
1994-05-31 04:26:31 +00:00
mycroft 07b4f2ab54 Update to 4.4-Lite networking code, with a few local changes. 1994-05-13 06:02:48 +00:00
brezak e03842d0c7 Standalone networking for network boot loaders. 1994-05-08 16:11:14 +00:00
pk 381f4cb170 set errno. 1994-03-01 20:57:56 +00:00
pk 2c2ca1351c Don't use aggregate initialization;
Add memcpy().
1994-02-26 10:29:41 +00:00
hpeyerl d7038296be Multicast is no longer optional. 1994-02-02 05:58:50 +00:00
mycroft 8854a8d447 Clean up deleted files. 1994-01-26 03:21:46 +00:00
brezak 36b52a824e CMU/4.4 stand-alone library 1994-01-26 02:03:32 +00:00
mycroft 4fe12e6e88 Fix some inconsistent spacing; spaces at the end of lines, etc. 1994-01-08 21:21:28 +00:00
deraadt 49c0e9bead "struct ether_addr" for ethers(3) functions. 1993-12-30 04:17:40 +00:00
hpeyerl 5097691559 >From cmaeda@cs.washington.edu; part of the multicast patches derived
from the Multicast patches for BSDI.

(I am a "big dopey bear" for having forgotten this. Thanx Havard.)
1993-12-13 15:10:40 +00:00
cassidy 40c0c0a558 Add definition for reverse address resolution protocol. 1993-09-05 00:52:15 +00:00
cgd 45a57e79ea more rcsid additions and file header cleanups 1993-05-20 03:49:51 +00:00
mycroft 235bd1db44 Add consistent multiple-inclusion protection. 1993-04-19 03:45:34 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00