Deleted Added
full compact
ng_btsocket.c (144723) ng_btsocket.c (152242)
1/*
2 * ng_btsocket.c
3 */
4
5/*-
6 * Copyright (c) 2001-2002 Maksim Yevmenkin <m_evmenkin@yahoo.com>
7 * All rights reserved.
8 *

--- 14 unchanged lines hidden (view full) ---

23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
29 *
30 * $Id: ng_btsocket.c,v 1.4 2003/09/14 23:29:06 max Exp $
1/*
2 * ng_btsocket.c
3 */
4
5/*-
6 * Copyright (c) 2001-2002 Maksim Yevmenkin <m_evmenkin@yahoo.com>
7 * All rights reserved.
8 *

--- 14 unchanged lines hidden (view full) ---

23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
29 *
30 * $Id: ng_btsocket.c,v 1.4 2003/09/14 23:29:06 max Exp $
31 * $FreeBSD: head/sys/netgraph/bluetooth/socket/ng_btsocket.c 144723 2005-04-06 20:54:05Z emax $
31 * $FreeBSD: head/sys/netgraph/bluetooth/socket/ng_btsocket.c 152242 2005-11-09 13:29:16Z ru $
32 */
33
34#include <sys/param.h>
35#include <sys/systm.h>
36#include <sys/bitstring.h>
37#include <sys/errno.h>
38#include <sys/domain.h>
39#include <sys/kernel.h>

--- 95 unchanged lines hidden (view full) ---

135};
136
137/*
138 * Definitions of protocols supported in the BLUETOOTH domain
139 */
140
141static struct protosw ng_btsocket_protosw[] = {
142{
32 */
33
34#include <sys/param.h>
35#include <sys/systm.h>
36#include <sys/bitstring.h>
37#include <sys/errno.h>
38#include <sys/domain.h>
39#include <sys/kernel.h>

--- 95 unchanged lines hidden (view full) ---

135};
136
137/*
138 * Definitions of protocols supported in the BLUETOOTH domain
139 */
140
141static struct protosw ng_btsocket_protosw[] = {
142{
143 SOCK_RAW, /* protocol type */
144 &ng_btsocket_domain, /* backpointer to domain */
145 BLUETOOTH_PROTO_HCI, /* protocol */
146 PR_ATOMIC | PR_ADDR, /* flags */
147 NULL, NULL, NULL, /* input, output, ctlinput */
148 ng_btsocket_hci_raw_ctloutput, /* ctloutput */
149 NULL, /* ousrreq() */
150 ng_btsocket_hci_raw_init, /* init */
151 NULL, NULL, NULL, /* fasttimeo, slowtimo, drain */
152 &ng_btsocket_hci_raw_usrreqs, /* usrreq table (above) */
153 /* { NULL } */ /* pfh (protocol filter head?) */
143 .pr_type = SOCK_RAW,
144 .pr_domain = &ng_btsocket_domain,
145 .pr_protocol = BLUETOOTH_PROTO_HCI,
146 .pr_flags = PR_ATOMIC|PR_ADDR,
147 .pr_ctloutput = ng_btsocket_hci_raw_ctloutput,
148 .pr_init = ng_btsocket_hci_raw_init,
149 .pr_usrreqs = &ng_btsocket_hci_raw_usrreqs,
154},
155{
150},
151{
156 SOCK_RAW, /* protocol type */
157 &ng_btsocket_domain, /* backpointer to domain */
158 BLUETOOTH_PROTO_L2CAP, /* protocol */
159 PR_ATOMIC | PR_ADDR, /* flags */
160 NULL, NULL, NULL, /* input, output, ctlinput */
161 NULL, /* ctloutput */
162 NULL, /* ousrreq() */
163 ng_btsocket_l2cap_raw_init, /* init */
164 NULL, NULL, NULL, /* fasttimeo, slowtimo, drain */
165 &ng_btsocket_l2cap_raw_usrreqs, /* usrreq table (above) */
166 /* { NULL } */ /* pfh (protocol filter head?) */
152 .pr_type = SOCK_RAW,
153 .pr_domain = &ng_btsocket_domain,
154 .pr_protocol = BLUETOOTH_PROTO_L2CAP,
155 .pr_flags = PR_ATOMIC|PR_ADDR,
156 .pr_init = ng_btsocket_l2cap_raw_init,
157 .pr_usrreqs = &ng_btsocket_l2cap_raw_usrreqs,
167},
168{
158},
159{
169 SOCK_SEQPACKET, /* protocol type */
170 &ng_btsocket_domain, /* backpointer to domain */
171 BLUETOOTH_PROTO_L2CAP, /* protocol */
172 PR_ATOMIC | PR_CONNREQUIRED, /* flags */
173 NULL, NULL, NULL, /* input, output, ctlinput */
174 ng_btsocket_l2cap_ctloutput, /* ctloutput */
175 NULL, /* ousrreq() */
176 ng_btsocket_l2cap_init, /* init */
177 NULL, NULL, NULL, /* fasttimeo, slowtimo, drain */
178 &ng_btsocket_l2cap_usrreqs, /* usrreq table (above) */
179 /* { NULL } */ /* pfh (protocol filter head?) */
160 .pr_type = SOCK_SEQPACKET,
161 .pr_domain = &ng_btsocket_domain,
162 .pr_protocol = BLUETOOTH_PROTO_L2CAP,
163 .pr_flags = PR_ATOMIC|PR_CONNREQUIRED,
164 .pr_ctloutput = ng_btsocket_l2cap_ctloutput,
165 .pr_init = ng_btsocket_l2cap_init,
166 .pr_usrreqs = &ng_btsocket_l2cap_usrreqs,
180},
181{
167},
168{
182 SOCK_STREAM, /* protocol type */
183 &ng_btsocket_domain, /* backpointer to domain */
184 BLUETOOTH_PROTO_RFCOMM, /* protocol */
185 PR_CONNREQUIRED, /* flags */
186 NULL, NULL, NULL, /* input, output, ctlinput */
187 ng_btsocket_rfcomm_ctloutput, /* ctloutput */
188 NULL, /* ousrreq() */
189 ng_btsocket_rfcomm_init, /* init */
190 NULL, NULL, NULL, /* fasttimeo, slowtimo, drain */
191 &ng_btsocket_rfcomm_usrreqs, /* usrreq table (above) */
192 /* { NULL } */ /* pfh (protocol filter head?) */
169 .pr_type = SOCK_STREAM,
170 .pr_domain = &ng_btsocket_domain,
171 .pr_protocol = BLUETOOTH_PROTO_RFCOMM,
172 .pr_flags = PR_CONNREQUIRED,
173 .pr_ctloutput = ng_btsocket_rfcomm_ctloutput,
174 .pr_init = ng_btsocket_rfcomm_init,
175 .pr_usrreqs = &ng_btsocket_rfcomm_usrreqs,
193}
194};
195#define ng_btsocket_protosw_size \
196 (sizeof(ng_btsocket_protosw)/sizeof(ng_btsocket_protosw[0]))
197#define ng_btsocket_protosw_end \
198 &ng_btsocket_protosw[ng_btsocket_protosw_size]
199
200/*
201 * BLUETOOTH domain
202 */
203
204struct domain ng_btsocket_domain = {
176}
177};
178#define ng_btsocket_protosw_size \
179 (sizeof(ng_btsocket_protosw)/sizeof(ng_btsocket_protosw[0]))
180#define ng_btsocket_protosw_end \
181 &ng_btsocket_protosw[ng_btsocket_protosw_size]
182
183/*
184 * BLUETOOTH domain
185 */
186
187struct domain ng_btsocket_domain = {
205 AF_BLUETOOTH, /* family */
206 "bluetooth", /* domain name */
207 NULL, /* init() */
208 NULL, /* externalize() */
209 NULL, /* dispose() */
210 ng_btsocket_protosw, /* protosw entry */
211 ng_btsocket_protosw_end, /* end of protosw entries */
212 NULL, /* next domain in list */
213 NULL, /* rtattach() */
214 0, /* arg to rtattach in bits */
215 0 /* maxrtkey */
188 .dom_family = AF_BLUETOOTH,
189 .dom_name = "bluetooth",
190 .dom_protosw = ng_btsocket_protosw,
191 .dom_protoswNPROTOSW = ng_btsocket_protosw_end
216};
217
218/*
219 * Socket sysctl tree
220 */
221
222SYSCTL_NODE(_net_bluetooth_hci, OID_AUTO, sockets, CTLFLAG_RW,
223 0, "Bluetooth HCI sockets family");

--- 51 unchanged lines hidden ---
192};
193
194/*
195 * Socket sysctl tree
196 */
197
198SYSCTL_NODE(_net_bluetooth_hci, OID_AUTO, sockets, CTLFLAG_RW,
199 0, "Bluetooth HCI sockets family");

--- 51 unchanged lines hidden ---