1.\" Copyright (c) 2001-2003 Maksim Yevmenkin <m_evmenkin@yahoo.com> 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23.\" SUCH DAMAGE. 24.\" 25.\" $Id: rfcomm_sppd.1,v 1.3 2003/09/07 18:15:55 max Exp $ 26.\" $FreeBSD$ 27.\" 28.Dd January 24, 2007 29.Dt RFCOMM_SPPD 1 30.Os 31.Sh NAME 32.Nm rfcomm_sppd 33.Nd RFCOMM Serial Port Profile daemon 34.Sh SYNOPSIS 35.Nm 36.Op Fl bhS 37.Fl a Ar address 38.Fl c Ar channel 39.Op Fl t Ar tty 40.Sh DESCRIPTION 41The 42.Nm 43utility is a Serial Port Profile daemon. 44It can operate in two modes: client and server. 45.Pp 46In client mode, 47.Nm 48opens RFCOMM connection to the specified 49.Ar address 50server and 51.Ar channel . 52Once connection is established, the 53.Nm 54utility provides access to the server's remote serial port via stdin/stdout 55or via 56.Xr pty 4 57interface if 58.Fl t 59option was specified. 60.Pp 61If the 62.Fl S 63option is specified, 64.Nm 65will operate in server mode and act as RFCOMM server, 66listening on 67.Dv ANY 68address and advertising a virtual serial port 69via the 70.Xr sdpd 8 71daemon. 72The 73.Fl t 74option must be specified; 75the server side of the virtual serial port is attached to the pseudo-terminal 76.Ar tty . 77.Nm 78should be run as root in order to communicate with 79.Xr sdp 8 80in this case. 81.Pp 82The 83.Nm 84utility opens both master and slave pseudo terminals. 85This is done to ensure that RFCOMM connection stays open until 86.Nm 87is terminated. 88The data received from the master pseudo terminal are sent over 89the RFCOMM connection. 90The data received from the RFCOMM connection are written 91into master pseudo terminal. 92The application in its turn opens the slave pseudo 93terminal and operates on it just like it would operate over the standard serial 94port. 95.Pp 96The options are as follows: 97.Bl -tag -width indent 98.It Fl a Ar address 99In client mode, 100this required option specifies the address of the remote RFCOMM server. 101If this option is specified in server mode, 102.Nm 103will only accept connections from the 104.Tn Bluetooth 105device with address 106.Ar address . 107The address can be specified as BD_ADDR or name. 108If name was specified then 109.Nm 110utility will attempt to resolve the name via 111.Xr bt_gethostbyname 3 . 112.It Fl b 113Detach from the controlling terminal, i.e., run in background. 114.It Fl c Ar channel 115In both client and server mode, 116this required option specifies the RFCOMM channel to connect to or listen on. 117In server mode, 118the channel should be a number between 1 and 30. 119If not specified, 120.Nm 121will try to allocate RFCOMM channel number based on process ID. 122In client mode, 123the channel could either be a number between 1 and 30 or a service name. 124Supported service names are: 125.Cm DUN 126(for DialUp Networking service), 127.Cm FAX 128(for Fax service), 129.Cm LAN 130(for LAN Access Using PPP service) and 131.Cm SP 132(for Serial Port service). 133If channel was not specified then 134.Nm 135utility will try to obtain RFCOMM channel for Serial Port service via Service 136Discovery Protocol from the server. 137.It Fl h 138Display usage message and exit. 139.It Fl S 140Server mode; see 141.Sx DESCRIPTION . 142.It Fl t Ar tty 143Slave pseudo tty name. 144If not set stdin/stdout will be used. 145This option is required if 146.Fl b 147or 148.Fl S 149option was specified. 150.El 151.Sh FILES 152.Bl -tag -width ".Pa /dev/tty[p-sP-S][0-9a-v]" -compact 153.It Pa /dev/pty[p-sP-S][0-9a-v] 154master pseudo terminals 155.It Pa /dev/tty[p-sP-S][0-9a-v] 156slave pseudo terminals 157.El 158.Sh EXIT STATUS 159.Ex -std 160.Sh EXAMPLES 161.Dl "rfcomm_sppd -a 00:01:02:03:04:05 -c 1 -t /dev/ttyp1" 162.Pp 163Will start the 164.Nm 165utility and open RFCOMM connection to the server at 166.Li 00:01:02:03:04:05 167and channel 168.Li 1 . 169Once the connection has been established, 170.Pa /dev/ttyp1 171can be used to talk to the remote serial port on the server. 172.Sh SEE ALSO 173.Xr bluetooth 3 , 174.Xr ng_btsocket 4 , 175.Xr pty 4 , 176.Xr rfcomm_pppd 8 , 177.Xr sdpd 8 178.Sh AUTHORS 179.An Maksim Yevmenkin Aq m_evmenkin@yahoo.com 180.Sh BUGS 181Please report if found. 182