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 --- |