aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/sys/getsockopt.2
Commit message (Collapse)AuthorAgeFilesLines
* Fix a few mandoc issuesGordon Bergling2020-10-091-2/+3
| | | | | | | | | | - skipping paragraph macro: Pp after Sh - sections out of conventional order: Sh EXAMPLES - whitespace at end of input line - normalizing date format Notes: svn path=/head/; revision=366583
* Document SO_NO_OFFLOADS and SO_NO_DDP.John Baldwin2020-06-031-2/+15
| | | | | | | | | | Reviewed by: bcr, np MFC after: 1 week Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D25043 Notes: svn path=/head/; revision=361767
* getsockopt.2: clarify that SO_TIMESTAMP is not 100% reliableAlan Somers2019-09-111-2/+3
| | | | | | | | | | | | | | When SO_TIMESTAMP is set, the kernel will attempt to attach a timestamp as ancillary data to each IP datagram that is received on the socket. However, it may fail, for example due to insufficient memory. In that case the packet will still be received but not timestamp will be attached. Reviewed by: kib MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D21607 Notes: svn path=/head/; revision=352231
* Document the ENOBUFS errno in setsockopt(2).Sergey Kandaurov2019-02-091-2/+15
| | | | | | | | | | In particular, it is the case if SO_SNDBUF/SO_RCVBUF would exceed sb_max_adj. PR: 200649 MFC after: 1 week Notes: svn path=/head/; revision=343945
* Add SOL_SOCKET level socket option with name SO_DOMAIN to getMichael Tuexen2018-08-211-1/+2
| | | | | | | | | | | | | | the domain of a socket. This is helpful when testing and Solaris and Linux have the same socket option using the same name. Reviewed by: bcr@, rrs@ Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D16791 Notes: svn path=/head/; revision=338136
* Load balance sockets with new SO_REUSEPORT_LB option.Sean Bruno2018-06-061-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new socket option, SO_REUSEPORT_LB, which allow multiple programs or threads to bind to the same port and incoming connections will be load balanced using a hash function. Most of the code was copied from a similar patch for DragonflyBSD. However, in DragonflyBSD, load balancing is a global on/off setting and can not be set per socket. This patch allows for simultaneous use of both the current SO_REUSEPORT and the new SO_REUSEPORT_LB options on the same system. Required changes to structures: Globally change so_options from 16 to 32 bit value to allow for more options. Add hashtable in pcbinfo to hold all SO_REUSEPORT_LB sockets. Limitations: As DragonflyBSD, a load balance group is limited to 256 pcbs (256 programs or threads sharing the same socket). This is a substantially different contribution as compared to its original incarnation at svn r332894 and reverted at svn r332967. Thanks to rwatson@ for the substantive feedback that is included in this commit. Submitted by: Johannes Lundberg <johalun0@gmail.com> Obtained from: DragonflyBSD Relnotes: Yes Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D11003 Notes: svn path=/head/; revision=334719
* Plug a memory leak and potential NULL-pointer dereference introduced in r331214.Lawrence Stewart2018-05-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Each TCP connection that uses the system default cc_newreno(4) congestion control algorithm module leaks a "struct newreno" (8 bytes of memory) at connection initialisation time. The NULL-pointer dereference is only germane when using the ABE feature, which is disabled by default. While at it: - Defer the allocation of memory until it is actually needed given that ABE is optional and disabled by default. - Document the ENOMEM errno in getsockopt(2)/setsockopt(2). - Document ENOMEM and ENOBUFS in tcp(4) as being synonymous given that they are used interchangeably throughout the code. - Fix a few other nits also accidentally omitted from the original patch. Reported by: Harsh Jain on freebsd-net@ Tested by: tjh@ Differential Revision: https://reviews.freebsd.org/D15358 Notes: svn path=/head/; revision=333699
* Fix minor formatting issue.Michael Tuexen2017-08-131-1/+1
| | | | Notes: svn path=/head/; revision=322458
* Renumber copyright clause 4Warner Losh2017-02-281-1/+1
| | | | | | | | | | | | Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96 Notes: svn path=/head/; revision=314436
* Improve wording around SO_TS_CLOCK documentation.Maxim Sobolev2017-01-201-2/+2
| | | | | | | | Submitted by: wblock Differential Revision: https://reviews.freebsd.org/D9171 Notes: svn path=/head/; revision=312554
* Implement kernel support for hardware rate limited sockets.Hans Petter Selasky2017-01-181-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add RATELIMIT kernel configuration keyword which must be set to enable the new functionality. - Add support for hardware driven, Receive Side Scaling, RSS aware, rate limited sendqueues and expose the functionality through the already established SO_MAX_PACING_RATE setsockopt(). The API support rates in the range from 1 to 4Gbytes/s which are suitable for regular TCP and UDP streams. The setsockopt(2) manual page has been updated. - Add rate limit function callback API to "struct ifnet" which supports the following operations: if_snd_tag_alloc(), if_snd_tag_modify(), if_snd_tag_query() and if_snd_tag_free(). - Add support to ifconfig to view, set and clear the IFCAP_TXRTLMT flag, which tells if a network driver supports rate limiting or not. - This patch also adds support for rate limiting through VLAN and LAGG intermediate network devices. - How rate limiting works: 1) The userspace application calls setsockopt() after accepting or making a new connection to set the rate which is then stored in the socket structure in the kernel. Later on when packets are transmitted a check is made in the transmit path for rate changes. A rate change implies a non-blocking ifp->if_snd_tag_alloc() call will be made to the destination network interface, which then sets up a custom sendqueue with the given rate limitation parameter. A "struct m_snd_tag" pointer is returned which serves as a "snd_tag" hint in the m_pkthdr for the subsequently transmitted mbufs. 2) When the network driver sees the "m->m_pkthdr.snd_tag" different from NULL, it will move the packets into a designated rate limited sendqueue given by the snd_tag pointer. It is up to the individual drivers how the rate limited traffic will be rate limited. 3) Route changes are detected by the NIC drivers in the ifp->if_transmit() routine when the ifnet pointer in the incoming snd_tag mismatches the one of the network interface. The network adapter frees the mbuf and returns EAGAIN which causes the ip_output() to release and clear the send tag. Upon next ip_output() a new "snd_tag" will be tried allocated. 4) When the PCB is detached the custom sendqueue will be released by a non-blocking ifp->if_snd_tag_free() call to the currently bound network interface. Reviewed by: wblock (manpages), adrian, gallatin, scottl (network) Differential Revision: https://reviews.freebsd.org/D3687 Sponsored by: Mellanox Technologies MFC after: 3 months Notes: svn path=/head/; revision=312379
* Add a new socket option SO_TS_CLOCK to pick from several different clockMaxim Sobolev2017-01-161-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sources to return timestamps when SO_TIMESTAMP is enabled. Two additional clock sources are: o nanosecond resolution realtime clock (equivalent of CLOCK_REALTIME); o nanosecond resolution monotonic clock (equivalent of CLOCK_MONOTONIC). In addition to this, this option provides unified interface to get bintime (equivalent of using SO_BINTIME), except it also supported with IPv6 where SO_BINTIME has never been supported. The long term plan is to depreciate SO_BINTIME and move everything to using SO_TS_CLOCK. Idea for this enhancement has been briefly discussed on the Net session during dev summit in Ottawa last June and the general input was positive. This change is believed to benefit network benchmarks/profiling as well as other scenarios where precise time of arrival measurement is necessary. There are two regression test cases as part of this commit: one extends unix domain test code (unix_cmsg) to test new SCM_XXX types and another one implementis totally new test case which exchanges UDP packets between two processes using both conventional methods (i.e. calling clock_gettime(2) before recv(2) and after send(2)), as well as using setsockopt()+recv() in receive path. The resulting delays are checked for sanity for all supported clock types. Reviewed by: adrian, gnn Differential Revision: https://reviews.freebsd.org/D9171 Notes: svn path=/head/; revision=312296
* Correct the returned message lengths for timeval and bintime controlGeorge V. Neville-Neil2013-04-051-3/+3
| | | | | | | | | messages (SO_BINTIME, SO_TIMEVAL). Obtained from: phk Notes: svn path=/head/; revision=249166
* Document SO_PROTOCOL socket option.Konstantin Belousov2012-02-261-2/+13
| | | | | | | | | Discussed with: bz Reviewed by: glebius MFC after: 2 weeks Notes: svn path=/head/; revision=232180
* Add history for setsockopt(2).Sergey Kandaurov2011-11-211-2/+4
| | | | | | | | | PR: docs/162719 Submitted by: Niclas Zeising <niclas at zeising gmail> MFC after: 1 week Notes: svn path=/head/; revision=227792
* This commit implements the SO_USER_COOKIE socket option, which letsLuigi Rizzo2010-11-121-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | you tag a socket with an uint32_t value. The cookie can then be used by the kernel for various purposes, e.g. setting the skipto rule or pipe number in ipfw (this is the reason SO_USER_COOKIE has been implemented; however there is nothing ipfw-specific in its implementation). The ipfw-related code that uses the optopn will be committed separately. This change adds a field to 'struct socket', but the struct is not part of any driver or userland-visible ABI so the change should be harmless. See the discussion at http://lists.freebsd.org/pipermail/freebsd-ipfw/2009-October/004001.html Idea and code from Paul Joe, small modifications and manpage changes by myself. Submitted by: Paul Joe MFC after: 1 week Notes: svn path=/head/; revision=215178
* Make it clear where to look for for protocol-specific socket options.Edward Tomasz Napierala2009-06-301-0/+9
| | | | | | | | Reviewed by: rwatson Approved by: re (kib) Notes: svn path=/head/; revision=195211
* Bring missing getsockopt(2) options: SO_LABEL SO_PEERLABEL SO_LISTENQLIMITWojciech A. Koszek2008-06-121-2/+29
| | | | | | | | | | | SO_LISTENQLEN SO_LISTENINCQLEN to the manual page. Till now those were only present in sys/socket.h file. Reviewed by: rwatson, gnn, keramida (with mdoc hat) Notes: svn path=/head/; revision=179768
* Add code to allow the system to handle multiple routing tables.Julian Elischer2008-05-091-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This particular implementation is designed to be fully backwards compatible and to be MFC-able to 7.x (and 6.x) Currently the only protocol that can make use of the multiple tables is IPv4 Similar functionality exists in OpenBSD and Linux. From my notes: ----- One thing where FreeBSD has been falling behind, and which by chance I have some time to work on is "policy based routing", which allows different packet streams to be routed by more than just the destination address. Constraints: ------------ I want to make some form of this available in the 6.x tree (and by extension 7.x) , but FreeBSD in general needs it so I might as well do it in -current and back port the portions I need. One of the ways that this can be done is to have the ability to instantiate multiple kernel routing tables (which I will now refer to as "Forwarding Information Bases" or "FIBs" for political correctness reasons). Which FIB a particular packet uses to make the next hop decision can be decided by a number of mechanisms. The policies these mechanisms implement are the "Policies" referred to in "Policy based routing". One of the constraints I have if I try to back port this work to 6.x is that it must be implemented as a EXTENSION to the existing ABIs in 6.x so that third party applications do not need to be recompiled in timespan of the branch. This first version will not have some of the bells and whistles that will come with later versions. It will, for example, be limited to 16 tables in the first commit. Implementation method, Compatible version. (part 1) ------------------------------- For this reason I have implemented a "sufficient subset" of a multiple routing table solution in Perforce, and back-ported it to 6.x. (also in Perforce though not always caught up with what I have done in -current/P4). The subset allows a number of FIBs to be defined at compile time (8 is sufficient for my purposes in 6.x) and implements the changes needed to allow IPV4 to use them. I have not done the changes for ipv6 simply because I do not need it, and I do not have enough knowledge of ipv6 (e.g. neighbor discovery) needed to do it. Other protocol families are left untouched and should there be users with proprietary protocol families, they should continue to work and be oblivious to the existence of the extra FIBs. To understand how this is done, one must know that the current FIB code starts everything off with a single dimensional array of pointers to FIB head structures (One per protocol family), each of which in turn points to the trie of routes available to that family. The basic change in the ABI compatible version of the change is to extent that array to be a 2 dimensional array, so that instead of protocol family X looking at rt_tables[X] for the table it needs, it looks at rt_tables[Y][X] when for all protocol families except ipv4 Y is always 0. Code that is unaware of the change always just sees the first row of the table, which of course looks just like the one dimensional array that existed before. The entry points rtrequest(), rtalloc(), rtalloc1(), rtalloc_ign() are all maintained, but refer only to the first row of the array, so that existing callers in proprietary protocols can continue to do the "right thing". Some new entry points are added, for the exclusive use of ipv4 code called in_rtrequest(), in_rtalloc(), in_rtalloc1() and in_rtalloc_ign(), which have an extra argument which refers the code to the correct row. In addition, there are some new entry points (currently called rtalloc_fib() and friends) that check the Address family being looked up and call either rtalloc() (and friends) if the protocol is not IPv4 forcing the action to row 0 or to the appropriate row if it IS IPv4 (and that info is available). These are for calling from code that is not specific to any particular protocol. The way these are implemented would change in the non ABI preserving code to be added later. One feature of the first version of the code is that for ipv4, the interface routes show up automatically on all the FIBs, so that no matter what FIB you select you always have the basic direct attached hosts available to you. (rtinit() does this automatically). You CAN delete an interface route from one FIB should you want to but by default it's there. ARP information is also available in each FIB. It's assumed that the same machine would have the same MAC address, regardless of which FIB you are using to get to it. This brings us as to how the correct FIB is selected for an outgoing IPV4 packet. Firstly, all packets have a FIB associated with them. if nothing has been done to change it, it will be FIB 0. The FIB is changed in the following ways. Packets fall into one of a number of classes. 1/ locally generated packets, coming from a socket/PCB. Such packets select a FIB from a number associated with the socket/PCB. This in turn is inherited from the process, but can be changed by a socket option. The process in turn inherits it on fork. I have written a utility call setfib that acts a bit like nice.. setfib -3 ping target.example.com # will use fib 3 for ping. It is an obvious extension to make it a property of a jail but I have not done so. It can be achieved by combining the setfib and jail commands. 2/ packets received on an interface for forwarding. By default these packets would use table 0, (or possibly a number settable in a sysctl(not yet)). but prior to routing the firewall can inspect them (see below). (possibly in the future you may be able to associate a FIB with packets received on an interface.. An ifconfig arg, but not yet.) 3/ packets inspected by a packet classifier, which can arbitrarily associate a fib with it on a packet by packet basis. A fib assigned to a packet by a packet classifier (such as ipfw) would over-ride a fib associated by a more default source. (such as cases 1 or 2). 4/ a tcp listen socket associated with a fib will generate accept sockets that are associated with that same fib. 5/ Packets generated in response to some other packet (e.g. reset or icmp packets). These should use the FIB associated with the packet being reponded to. 6/ Packets generated during encapsulation. gif, tun and other tunnel interfaces will encapsulate using the FIB that was in effect withthe proces that set up the tunnel. thus setfib 1 ifconfig gif0 [tunnel instructions] will set the fib for the tunnel to use to be fib 1. Routing messages would be associated with their process, and thus select one FIB or another. messages from the kernel would be associated with the fib they refer to and would only be received by a routing socket associated with that fib. (not yet implemented) In addition Netstat has been edited to be able to cope with the fact that the array is now 2 dimensional. (It looks in system memory using libkvm (!)). Old versions of netstat see only the first FIB. In addition two sysctls are added to give: a) the number of FIBs compiled in (active) b) the default FIB of the calling process. Early testing experience: ------------------------- Basically our (IronPort's) appliance does this functionality already using ipfw fwd but that method has some drawbacks. For example, It can't fully simulate a routing table because it can't influence the socket's choice of local address when a connect() is done. Testing during the generating of these changes has been remarkably smooth so far. Multiple tables have co-existed with no notable side effects, and packets have been routes accordingly. ipfw has grown 2 new keywords: setfib N ip from anay to any count ip from any to any fib N In pf there seems to be a requirement to be able to give symbolic names to the fibs but I do not have that capacity. I am not sure if it is required. SCTP has interestingly enough built in support for this, called VRFs in Cisco parlance. it will be interesting to see how that handles it when it suddenly actually does something. Where to next: -------------------- After committing the ABI compatible version and MFCing it, I'd like to proceed in a forward direction in -current. this will result in some roto-tilling in the routing code. Firstly: the current code's idea of having a separate tree per protocol family, all of the same format, and pointed to by the 1 dimensional array is a bit silly. Especially when one considers that there is code that makes assumptions about every protocol having the same internal structures there. Some protocols don't WANT that sort of structure. (for example the whole idea of a netmask is foreign to appletalk). This needs to be made opaque to the external code. My suggested first change is to add routing method pointers to the 'domain' structure, along with information pointing the data. instead of having an array of pointers to uniform structures, there would be an array pointing to the 'domain' structures for each protocol address domain (protocol family), and the methods this reached would be called. The methods would have an argument that gives FIB number, but the protocol would be free to ignore it. When the ABI can be changed it raises the possibilty of the addition of a fib entry into the "struct route". Currently, the structure contains the sockaddr of the desination, and the resulting fib entry. To make this work fully, one could add a fib number so that given an address and a fib, one can find the third element, the fib entry. Interaction with the ARP layer/ LL layer would need to be revisited as well. Qing Li has been working on this already. This work was sponsored by Ironport Systems/Cisco PR: Reviewed by: several including rwatson, bz and mlair (parts each) Approved by: Obtained from: Ironport systems/Cisco MFC after: Security: PR: Submitted by: Reviewed by: Approved by: Obtained from: MFC after: Security: Notes: svn path=/head/; revision=178886
* Wordsmithery.Bruce M Simpson2007-03-091-1/+1
| | | | | | | Pointed out by: ru Notes: svn path=/head/; revision=167380
* Document SO_ACCEPTCONN.Bruce M Simpson2007-03-081-1/+9
| | | | | | | | Submitted by: Vlad GALU (with changes) MFC after: 3 days Notes: svn path=/head/; revision=167335
* o Document SO_TIMESTAMP and SO_BINSTAMP socket options.Maxim Konovalov2007-01-111-2/+46
| | | | | | | | | | | PR: docs/107696 Submitted by: Rob Robertson Reviewed by: ru Obtained from: NetBSD (mostly) MFC after: 1 week Notes: svn path=/head/; revision=165945
* Per Regents of the University of Calfornia letter, remove advertisingWarner Losh2007-01-091-4/+0
| | | | | | | | | clause. # If I've done so improperly on a file, please let me know. Notes: svn path=/head/; revision=165903
* Markup fixes.Ruslan Ermilov2006-09-171-2/+7
| | | | Notes: svn path=/head/; revision=162385
* o Document SO_NOSIGPIPE, touch .Dd.Maxim Konovalov2006-04-151-1/+9
| | | | | | | | | PR: docs/78479 Submitted by: Mikko Tyolajarvi MFC after: 2 weeks Notes: svn path=/head/; revision=157775
* Sort sections.Ruslan Ermilov2005-01-201-2/+2
| | | | Notes: svn path=/head/; revision=140505
* Mechanically kill hard sentence breaks.Ruslan Ermilov2004-07-021-6/+12
| | | | Notes: svn path=/head/; revision=131504
* Add restrict qualifiers. (docs)Alfred Perlstein2003-12-241-1/+1
| | | | | | | | PR: 44394 Submitted by: Craig Rodrigues <rodrige@attbi.com> Notes: svn path=/head/; revision=123814
* mdoc(7): Properly mark C headers.Ruslan Ermilov2003-09-101-3/+3
| | | | Notes: svn path=/head/; revision=119964
* mdoc(7) police: "The .Fa argument.".Ruslan Ermilov2002-12-191-15/+23
| | | | Notes: svn path=/head/; revision=108087
* mdoc(7) police: Tidy up the syscall language.Ruslan Ermilov2002-12-181-4/+6
| | | | | | | | | | | | | Stop calling system calls "function calls". Use "The .Fn system call" a-la "The .Nm utility". When referring to a non-BSD implementation in the HISTORY section, call syscall a function, to be safe. Notes: svn path=/head/; revision=108028
* Minor grammar and punctuation fixesYaroslav Tykhiy2002-01-041-2/+2
| | | | | | | in the SO_ACCEPTFILTER description. Notes: svn path=/head/; revision=88886
* State clearly that one should call listen(2) on a socketYaroslav Tykhiy2002-01-041-0/+11
| | | | | | | | | at first and try to set an accept_filter(9) on it only after that. Also document errno value that will be set if installing the filter on a non-listening socket. Notes: svn path=/head/; revision=88885
* Remove the internal implementation details of wrapping syscalls,Ruslan Ermilov2001-10-261-42/+0
| | | | | | | | | which do not match the reality anyway. Approved by: deischen, bde Notes: svn path=/head/; revision=85555
* mdoc(7) police: Use the new .In macro for #include statements.Ruslan Ermilov2001-10-011-2/+2
| | | | Notes: svn path=/head/; revision=84306
* Use ``.Rv -std'' wherever possible.Ruslan Ermilov2001-08-311-1/+1
| | | | | | | Submitted by: yar Notes: svn path=/head/; revision=82642
* Remove whitespace at EOL.Dima Dorfman2001-07-151-6/+6
| | | | Notes: svn path=/head/; revision=79754
* mdoc(7) police: removed HISTORY info from the .Os call.Ruslan Ermilov2001-07-101-1/+1
| | | | Notes: svn path=/head/; revision=79531
* mdoc(7) police: remove extraneous .Pp before and/or after .Sh.Dima Dorfman2001-07-091-1/+0
| | | | Notes: svn path=/head/; revision=79454
* mdoc(7) police: split punctuation characters + misc fixes.Ruslan Ermilov2001-02-011-1/+2
| | | | Notes: svn path=/head/; revision=71895
* use .Pp instead of faking it with an extra newlineAlfred Perlstein2000-07-201-1/+1
| | | | | | | Pointed out by: sheldonh Notes: svn path=/head/; revision=63639
* document get/set sockopt usage with accept_filter(9)Alfred Perlstein2000-07-201-2/+35
| | | | Notes: svn path=/head/; revision=63635
* Replace .Va, .Ar and .Nm with .Fa or .Va where necessary, examples:Chris Costello2000-06-231-4/+4
| | | | | | | | | ``.Ar errno'' -> ``.Va errno'' ``.Nm ops'' -> ``.Fa ops'' ``.Va fd'' -> ``.Fa fd'' Notes: svn path=/head/; revision=61988
* Use `Er' variable to define first column width in ERRORS section. It wasAlexey Zelkin2000-05-041-1/+1
| | | | | | | initially suggested by mdoc(7) style, but was broken over the years Notes: svn path=/head/; revision=59954
* Introduce ".Lb" macro to libc manpages.Alexey Zelkin2000-04-211-0/+2
| | | | | | | More libraries manpages updates following. Notes: svn path=/head/; revision=59460
* General clean-up of socket.h and associated sources to synchronise upPoul-Henning Kamp1999-11-241-2/+2
| | | | | | | | | | | | | | | with NetBSD and the Single Unix Specification v2. This updates some structures with other, almost equivalent types and effort is under way to get the whole more consistent. Also removes a double definition of INET6 and some other clean-ups. Reviewed by: green, bde, phk Some part obtained from: NetBSD, SUSv2 specification Notes: svn path=/head/; revision=53678
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50476
* Reference correct sysctl: kern.maxsockbuf --> kern.ipc.maxsockbufJonathan Lemon1999-07-151-2/+2
| | | | Notes: svn path=/head/; revision=48822
* Merge from Lite2 onto mainline -Peter Wemm1997-03-111-4/+4
| | | | | | | | - add undelete() and undelete.2 (requires libc minor bump some time) - man page updates Notes: svn path=/head/; revision=23660
* Revert $FreeBSD$ to $Id$Peter Wemm1997-02-221-1/+1
| | | | Notes: svn path=/head/; revision=22993