Commit Graph

214 Commits

Author SHA1 Message Date
gwr 2cf7613010 Sun RPC/bootparams always enabled (No -DSUN_BOOTPARAMS needed)
Add SUPPORT_BOOTP (and global try_bootp) to allow MD code to
determine whether BOOTP is used (compile-time and run-time).
Thanks to Matthias Drochner for the SUPPORT_BOOTP ideas.
Copyright asigned to The NetBSD Foundation.
1997-03-14 20:34:48 +00:00
gwr 8f0295e7f0 Moved here (via repository copy) so they are more easily shared.
I did not add them to the library, but rather compile them where
the netboot program is built so I can add -DSUN_BOOTPARAMS, etc.
1997-03-11 18:23:55 +00:00
cgd 72a6422a5e allow includers to specify library-specific CPP flags via ${LIB}MISCCPPFLAGS 1997-02-16 21:25:18 +00:00
leo 2242daf790 Initialize 'bestf' to make this compile again with -Wall. 1997-02-16 13:02:59 +00:00
thorpej 9a6b12944d In close(), if the file descriptor was used for writing, don't free
data structures that weren't allocated.  Fix sanity-checked
by Matthias Drochner.
1997-02-04 18:38:20 +00:00
thorpej 63930d7db4 Add some debugging code to free(), to catch frees before the
start of the heap and beyond the end of the heap (if a heap limit
is defined).
1997-02-04 18:36:33 +00:00
pk 01bd8a8ca8 Initialize `f_offset'. 1997-01-28 09:41:03 +00:00
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