xref: /freebsd/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.1 (revision 9336e0699bda8a301cd2bfa37106b6ec5e32012e)
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