Commit Graph

29 Commits

Author SHA1 Message Date
Gleb Smirnoff
0f9d0a73a4 Merge from projects/sendfile:
o Introduce a notion of "not ready" mbufs in socket buffers.  These
mbufs are now being populated by some I/O in background and are
referenced outside.  This forces following implications:
- An mbuf which is "not ready" can't be taken out of the buffer.
- An mbuf that is behind a "not ready" in the queue neither.
- If sockbet buffer is flushed, then "not ready" mbufs shouln't be
  freed.

o In struct sockbuf the sb_cc field is split into sb_ccc and sb_acc.
  The sb_ccc stands for ""claimed character count", or "committed
  character count".  And the sb_acc is "available character count".
  Consumers of socket buffer API shouldn't already access them directly,
  but use sbused() and sbavail() respectively.
o Not ready mbufs are marked with M_NOTREADY, and ready but blocked ones
  with M_BLOCKED.
o New field sb_fnrdy points to the first not ready mbuf, to avoid linear
  search.
o New function sbready() is provided to activate certain amount of mbufs
  in a socket buffer.

A special note on SCTP:
  SCTP has its own sockbufs.  Unfortunately, FreeBSD stack doesn't yet
allow protocol specific sockbufs.  Thus, SCTP does some hacks to make
itself compatible with FreeBSD: it manages sockbufs on its own, but keeps
sb_cc updated to inform the stack of amount of data in them.  The new
notion of "not ready" data isn't supported by SCTP.  Instead, only a
mechanical substitute is done: s/sb_cc/sb_ccc/.
  A proper solution would be to take away struct sockbuf from struct
socket and allow protocols to implement their own socket buffers, like
SCTP already does.  This was discussed with rrs@.

Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
2014-11-30 12:52:33 +00:00
Baptiste Daroussin
3e11bd9e2a Convert to usr.bin/ to LIBADD
Reduce overlinking
2014-11-25 14:29:10 +00:00
Maksim Yevmenkin
dc7b26971d Change the code to use the openpty(3) API which uses the pts(4) driver
instead of the pty(4) driver.

PR:		184597
Submitted by:	tobias.rehbein
MFC after:	2 weeks
2014-10-23 15:16:40 +00:00
Baptiste Daroussin
2b7af31cf5 use .Mt to mark up email addresses consistently (part3)
PR:		191174
Submitted by:	Franco Fichtner  <franco at lastsummer.de>
2014-06-23 08:23:05 +00:00
Ed Schouten
b7946da96b Build usr.bin/ with WARNS=6 by default.
Also add some missing $FreeBSD$ to keep svn happy.
2010-01-02 10:27:05 +00:00
Maksim Yevmenkin
d37245a0de Clenup code a bit and do not call fork(2) before dameon(3) where not needed.
MFC after:	1 month
2009-02-04 22:04:06 +00:00
Maksim Yevmenkin
9b501d5ab1 Fix build 2008-07-29 17:02:00 +00:00
Maksim Yevmenkin
aa6985f4f3 Make -t <tty> optional in server mode. If not specified use stdin/stdout.
Document this. Do not require channel number in server mode. If not
specified - bind to ''wildcard'' channel zero. Real channel number will
be obtained automatically and registered with local sdpd(8). While I'm
here fix serial port service registration.

Submitted by:	luigi
Tested by:	Helge Oldach <freebsd-bluetooth at oldach dot net>
MFC after:	3 days
2008-05-14 16:47:30 +00:00
Kevin Lo
817e1ec901 Check return value of listen().
Reviewed by: emax
Approved by: re (kensmith)
2007-09-11 01:59:00 +00:00
Maksim Yevmenkin
0a314f7c39 Add "server mode" to rfcomm_sppd(1).
Submitted by:	Dave Eckhardt, bms
Tested by:	Dave Eckhardt, Eric Anderson, bms
2007-01-25 20:54:59 +00:00
Maksim Yevmenkin
a9412967a2 Teach rfcomm_sppd(8) to recognize "lan" (for LAN Access Using PPP) service
name in '-c' (RFCOMM channel) option.

MFC after:	3 days
2005-12-07 19:41:58 +00:00
Maksim Yevmenkin
d47d4f47b0 Teach rfcomm_sppd(1) about service names, so it is possible to specify
service name instead of channel number with -c command option. Supported
service names are: DUN (Dial-Up Networking), FAX (Fax) and SP (Serial Port).

MFC after:	1 week
2005-11-23 00:56:18 +00:00
Ruslan Ermilov
254dd1666e Let bsd.prog.mk set SRCS and MAN to their default values. 2005-01-28 16:08:11 +00:00
Ruslan Ermilov
6c7216df78 Sort sections. 2005-01-18 13:43:56 +00:00
Ruslan Ermilov
a866e17077 Added the EXIT STATUS section where appropriate. 2005-01-17 07:44:44 +00:00
Maksim Yevmenkin
969fdab180 Make -t <tty> optional. If not specified use stdin/stdout.
Document this. These changes make it possible to write something like

	set device "!/usr/bin/rfcomm_sppd -a BD_ADDR"

inside the /etc/ppp/ppp.conf file. Very convenient for the users :)

Submitted by:	Konstantin Stepanenkov <kstepanenkov AT oilspace DOT com>
MFC after:	3 days
2004-09-30 21:05:17 +00:00
Maksim Yevmenkin
2aa65cf739 - One can use both BD_ADDR or name to specify address of the Bluetooth device.
Update man pages to document this fact.

- Update usage messages

- Change u_intXXX to uintXXX
2004-08-05 16:32:41 +00:00
Ruslan Ermilov
fdc1ec368d Clean up language and markup. 2004-05-19 10:45:40 +00:00
Ruslan Ermilov
6f9c5e40fa Bumped document date.
Removed hard sentence break.
2004-05-19 09:44:31 +00:00
Maksim Yevmenkin
2f122b6e8a Use uint instead of u_int 2004-04-09 23:26:16 +00:00
Maksim Yevmenkin
4ae439a316 Make sure Bluetooth stuff can be compiled on amd64
Submitted by:	ps
2004-04-09 23:01:42 +00:00
Maksim Yevmenkin
263a3a25b1 Fix a couple of stylistic issues
Reviewed by: imp (mentor), ru
Approved by: imp (mentor)
2003-12-22 22:50:21 +00:00
Maksim Yevmenkin
4b1493e53d Fix uncontrolled access to the buffer in rfcomm_sppd(1).
Fix typo in hcsecd(8) man page.

Submitted by: Guido Falsi <mad@madpilot.net>
Reviewed by: imp (mentor)
Approved by: imp (mentor)
2003-12-19 18:15:56 +00:00
Bruce Evans
1f85f71570 Include <nlist.h> for nlist-related declarations instead of depending on
namespace pollution in <kvm.h>.
2003-10-13 05:30:20 +00:00
Maksim Yevmenkin
0986ab12e4 Update Bluetooth code.
Reviewed by: M. Warner Losh <imp@bsdimp.com>; John Hay <jhay@freebsd.org>
Approved by: M. Warner Losh <imp@bsdimp.com> (mentor)
2003-10-12 22:04:24 +00:00
Ruslan Ermilov
72f00208e5 Reapply mdoc(7) fixes that got accidentally lost in the last
Bluetooth update, and fix a few more issues.

Submitted by:	Maksim Yevmenkin <m_evmenkin@yahoo.com>, ru
Approved by:	re (blanket)
2003-05-20 21:01:21 +00:00
Julian Elischer
f2bb1cae36 Part one of undating the bluetooth code to the newest version
Submitted by:   Maksim Yevmenkin <m_evmenkin@yahoo.com>
Approved by: re@
2003-05-10 21:44:42 +00:00
Ruslan Ermilov
d0c6069b9d mdoc(7) police: markup fixes.
Approved by:	re
2002-12-12 13:26:32 +00:00
Julian Elischer
878ed22696 The second try a committing the bluetooth code
Has been seen to work on several cards and communicating with
several mobile phones to use them as modems etc.

We are still talking with 3com to try get them to allow us to include
the firmware for their pccard in the driver but the driver is here..
In the mean time
it can be downloaded from the 3com website and loaded using the utility
bt3cfw(8) (supplied) (instructions in the man page)

Not yet linked to the build

Submitted by:	Maksim Yevmenkin <myevmenk@exodus.net>
Approved by:	re
2002-11-20 23:01:59 +00:00