ng_l2cap_cmds.h (107120) | ng_l2cap_cmds.h (109623) |
---|---|
1/* 2 * ng_l2cap_cmds.h 3 * 4 * Copyright (c) Maksim Yevmenkin <m_evmenkin@yahoo.com> 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 12 unchanged lines hidden (view full) --- 21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 * 28 * $Id: ng_l2cap_cmds.h,v 1.9 2002/04/16 00:43:56 max Exp $ | 1/* 2 * ng_l2cap_cmds.h 3 * 4 * Copyright (c) Maksim Yevmenkin <m_evmenkin@yahoo.com> 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 12 unchanged lines hidden (view full) --- 21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 * 28 * $Id: ng_l2cap_cmds.h,v 1.9 2002/04/16 00:43:56 max Exp $ |
29 * $FreeBSD: head/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.h 107120 2002-11-20 23:01:59Z julian $ | 29 * $FreeBSD: head/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.h 109623 2003-01-21 08:56:16Z alfred $ |
30 */ 31 32#ifndef _NETGRAPH_L2CAP_CMDS_H_ 33#define _NETGRAPH_L2CAP_CMDS_H_ 34 35/****************************************************************************** 36 ****************************************************************************** 37 ** L2CAP to L2CAP signaling command macros --- 11 unchanged lines hidden (view full) --- 49#define _ng_l2cap_cmd_rej(_m, _ident, _reason, _mtu, _scid, _dcid) \ 50do { \ 51 struct _cmd_rej { \ 52 ng_l2cap_cmd_hdr_t hdr; \ 53 ng_l2cap_cmd_rej_cp param; \ 54 ng_l2cap_cmd_rej_data_t data; \ 55 } __attribute__ ((packed)) *c = NULL; \ 56 \ | 30 */ 31 32#ifndef _NETGRAPH_L2CAP_CMDS_H_ 33#define _NETGRAPH_L2CAP_CMDS_H_ 34 35/****************************************************************************** 36 ****************************************************************************** 37 ** L2CAP to L2CAP signaling command macros --- 11 unchanged lines hidden (view full) --- 49#define _ng_l2cap_cmd_rej(_m, _ident, _reason, _mtu, _scid, _dcid) \ 50do { \ 51 struct _cmd_rej { \ 52 ng_l2cap_cmd_hdr_t hdr; \ 53 ng_l2cap_cmd_rej_cp param; \ 54 ng_l2cap_cmd_rej_data_t data; \ 55 } __attribute__ ((packed)) *c = NULL; \ 56 \ |
57 MGETHDR((_m), M_DONTWAIT, MT_DATA); \ | 57 MGETHDR((_m), M_NOWAIT, MT_DATA); \ |
58 if ((_m) == NULL) \ 59 break; \ 60 \ 61 c = mtod((_m), struct _cmd_rej *); \ 62 c->hdr.code = NG_L2CAP_CMD_REJ; \ 63 c->hdr.ident = (_ident); \ 64 c->hdr.length = sizeof(c->param); \ 65 \ --- 17 unchanged lines hidden (view full) --- 83/* L2CAP_ConnectReq */ 84#define _ng_l2cap_con_req(_m, _ident, _psm, _scid) \ 85do { \ 86 struct _con_req { \ 87 ng_l2cap_cmd_hdr_t hdr; \ 88 ng_l2cap_con_req_cp param; \ 89 } __attribute__ ((packed)) *c = NULL; \ 90 \ | 58 if ((_m) == NULL) \ 59 break; \ 60 \ 61 c = mtod((_m), struct _cmd_rej *); \ 62 c->hdr.code = NG_L2CAP_CMD_REJ; \ 63 c->hdr.ident = (_ident); \ 64 c->hdr.length = sizeof(c->param); \ 65 \ --- 17 unchanged lines hidden (view full) --- 83/* L2CAP_ConnectReq */ 84#define _ng_l2cap_con_req(_m, _ident, _psm, _scid) \ 85do { \ 86 struct _con_req { \ 87 ng_l2cap_cmd_hdr_t hdr; \ 88 ng_l2cap_con_req_cp param; \ 89 } __attribute__ ((packed)) *c = NULL; \ 90 \ |
91 MGETHDR((_m), M_DONTWAIT, MT_DATA); \ | 91 MGETHDR((_m), M_NOWAIT, MT_DATA); \ |
92 if ((_m) == NULL) \ 93 break; \ 94 \ 95 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 96 \ 97 c = mtod((_m), struct _con_req *); \ 98 c->hdr.code = NG_L2CAP_CON_REQ; \ 99 c->hdr.ident = (_ident); \ --- 6 unchanged lines hidden (view full) --- 106/* L2CAP_ConnectRsp */ 107#define _ng_l2cap_con_rsp(_m, _ident, _dcid, _scid, _result, _status) \ 108do { \ 109 struct _con_rsp { \ 110 ng_l2cap_cmd_hdr_t hdr; \ 111 ng_l2cap_con_rsp_cp param; \ 112 } __attribute__ ((packed)) *c = NULL; \ 113 \ | 92 if ((_m) == NULL) \ 93 break; \ 94 \ 95 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 96 \ 97 c = mtod((_m), struct _con_req *); \ 98 c->hdr.code = NG_L2CAP_CON_REQ; \ 99 c->hdr.ident = (_ident); \ --- 6 unchanged lines hidden (view full) --- 106/* L2CAP_ConnectRsp */ 107#define _ng_l2cap_con_rsp(_m, _ident, _dcid, _scid, _result, _status) \ 108do { \ 109 struct _con_rsp { \ 110 ng_l2cap_cmd_hdr_t hdr; \ 111 ng_l2cap_con_rsp_cp param; \ 112 } __attribute__ ((packed)) *c = NULL; \ 113 \ |
114 MGETHDR((_m), M_DONTWAIT, MT_DATA); \ | 114 MGETHDR((_m), M_NOWAIT, MT_DATA); \ |
115 if ((_m) == NULL) \ 116 break; \ 117 \ 118 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 119 \ 120 c = mtod((_m), struct _con_rsp *); \ 121 c->hdr.code = NG_L2CAP_CON_RSP; \ 122 c->hdr.ident = (_ident); \ --- 8 unchanged lines hidden (view full) --- 131/* L2CAP_ConfigReq */ 132#define _ng_l2cap_cfg_req(_m, _ident, _dcid, _flags, _data) \ 133do { \ 134 struct _cfg_req { \ 135 ng_l2cap_cmd_hdr_t hdr; \ 136 ng_l2cap_cfg_req_cp param; \ 137 } __attribute__ ((packed)) *c = NULL; \ 138 \ | 115 if ((_m) == NULL) \ 116 break; \ 117 \ 118 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 119 \ 120 c = mtod((_m), struct _con_rsp *); \ 121 c->hdr.code = NG_L2CAP_CON_RSP; \ 122 c->hdr.ident = (_ident); \ --- 8 unchanged lines hidden (view full) --- 131/* L2CAP_ConfigReq */ 132#define _ng_l2cap_cfg_req(_m, _ident, _dcid, _flags, _data) \ 133do { \ 134 struct _cfg_req { \ 135 ng_l2cap_cmd_hdr_t hdr; \ 136 ng_l2cap_cfg_req_cp param; \ 137 } __attribute__ ((packed)) *c = NULL; \ 138 \ |
139 MGETHDR((_m), M_DONTWAIT, MT_DATA); \ | 139 MGETHDR((_m), M_NOWAIT, MT_DATA); \ |
140 if ((_m) == NULL) { \ 141 NG_FREE_M((_data)); \ 142 break; \ 143 } \ 144 \ 145 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 146 \ 147 c = mtod((_m), struct _cfg_req *); \ --- 15 unchanged lines hidden (view full) --- 163/* L2CAP_ConfigRsp */ 164#define _ng_l2cap_cfg_rsp(_m, _ident, _scid, _flags, _result, _data) \ 165do { \ 166 struct _cfg_rsp { \ 167 ng_l2cap_cmd_hdr_t hdr; \ 168 ng_l2cap_cfg_rsp_cp param; \ 169 } __attribute__ ((packed)) *c = NULL; \ 170 \ | 140 if ((_m) == NULL) { \ 141 NG_FREE_M((_data)); \ 142 break; \ 143 } \ 144 \ 145 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 146 \ 147 c = mtod((_m), struct _cfg_req *); \ --- 15 unchanged lines hidden (view full) --- 163/* L2CAP_ConfigRsp */ 164#define _ng_l2cap_cfg_rsp(_m, _ident, _scid, _flags, _result, _data) \ 165do { \ 166 struct _cfg_rsp { \ 167 ng_l2cap_cmd_hdr_t hdr; \ 168 ng_l2cap_cfg_rsp_cp param; \ 169 } __attribute__ ((packed)) *c = NULL; \ 170 \ |
171 MGETHDR((_m), M_DONTWAIT, MT_DATA); \ | 171 MGETHDR((_m), M_NOWAIT, MT_DATA); \ |
172 if ((_m) == NULL) { \ 173 NG_FREE_M((_data)); \ 174 break; \ 175 } \ 176 \ 177 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 178 \ 179 c = mtod((_m), struct _cfg_rsp *); \ --- 13 unchanged lines hidden (view full) --- 193 c->hdr.length = htole16(c->hdr.length); \ 194} while (0) 195 196/* Build configuration options */ 197#define _ng_l2cap_build_cfg_options(_m, _mtu, _flush_timo, _flow) \ 198do { \ 199 u_int8_t *p = NULL; \ 200 \ | 172 if ((_m) == NULL) { \ 173 NG_FREE_M((_data)); \ 174 break; \ 175 } \ 176 \ 177 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 178 \ 179 c = mtod((_m), struct _cfg_rsp *); \ --- 13 unchanged lines hidden (view full) --- 193 c->hdr.length = htole16(c->hdr.length); \ 194} while (0) 195 196/* Build configuration options */ 197#define _ng_l2cap_build_cfg_options(_m, _mtu, _flush_timo, _flow) \ 198do { \ 199 u_int8_t *p = NULL; \ 200 \ |
201 MGETHDR((_m), M_DONTWAIT, MT_DATA); \ | 201 MGETHDR((_m), M_NOWAIT, MT_DATA); \ |
202 if ((_m) == NULL) \ 203 break; \ 204 \ 205 (_m)->m_pkthdr.len = (_m)->m_len = 0; \ 206 p = mtod((_m), u_int8_t *); \ 207 \ 208 if ((_mtu) != NULL) { \ 209 struct _cfg_opt_mtu { \ --- 60 unchanged lines hidden (view full) --- 270/* L2CAP_DisconnectReq */ 271#define _ng_l2cap_discon_req(_m, _ident, _dcid, _scid) \ 272do { \ 273 struct _discon_req { \ 274 ng_l2cap_cmd_hdr_t hdr; \ 275 ng_l2cap_discon_req_cp param; \ 276 } __attribute__ ((packed)) *c = NULL; \ 277 \ | 202 if ((_m) == NULL) \ 203 break; \ 204 \ 205 (_m)->m_pkthdr.len = (_m)->m_len = 0; \ 206 p = mtod((_m), u_int8_t *); \ 207 \ 208 if ((_mtu) != NULL) { \ 209 struct _cfg_opt_mtu { \ --- 60 unchanged lines hidden (view full) --- 270/* L2CAP_DisconnectReq */ 271#define _ng_l2cap_discon_req(_m, _ident, _dcid, _scid) \ 272do { \ 273 struct _discon_req { \ 274 ng_l2cap_cmd_hdr_t hdr; \ 275 ng_l2cap_discon_req_cp param; \ 276 } __attribute__ ((packed)) *c = NULL; \ 277 \ |
278 MGETHDR((_m), M_DONTWAIT, MT_DATA); \ | 278 MGETHDR((_m), M_NOWAIT, MT_DATA); \ |
279 if ((_m) == NULL) \ 280 break; \ 281 \ 282 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 283 \ 284 c = mtod((_m), struct _discon_req *); \ 285 c->hdr.code = NG_L2CAP_DISCON_REQ; \ 286 c->hdr.ident = (_ident); \ --- 6 unchanged lines hidden (view full) --- 293/* L2CA_DisconnectRsp */ 294#define _ng_l2cap_discon_rsp(_m, _ident, _dcid, _scid) \ 295do { \ 296 struct _discon_rsp { \ 297 ng_l2cap_cmd_hdr_t hdr; \ 298 ng_l2cap_discon_rsp_cp param; \ 299 } __attribute__ ((packed)) *c = NULL; \ 300 \ | 279 if ((_m) == NULL) \ 280 break; \ 281 \ 282 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 283 \ 284 c = mtod((_m), struct _discon_req *); \ 285 c->hdr.code = NG_L2CAP_DISCON_REQ; \ 286 c->hdr.ident = (_ident); \ --- 6 unchanged lines hidden (view full) --- 293/* L2CA_DisconnectRsp */ 294#define _ng_l2cap_discon_rsp(_m, _ident, _dcid, _scid) \ 295do { \ 296 struct _discon_rsp { \ 297 ng_l2cap_cmd_hdr_t hdr; \ 298 ng_l2cap_discon_rsp_cp param; \ 299 } __attribute__ ((packed)) *c = NULL; \ 300 \ |
301 MGETHDR((_m), M_DONTWAIT, MT_DATA); \ | 301 MGETHDR((_m), M_NOWAIT, MT_DATA); \ |
302 if ((_m) == NULL) \ 303 break; \ 304 \ 305 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 306 \ 307 c = mtod((_m), struct _discon_rsp *); \ 308 c->hdr.code = NG_L2CAP_DISCON_RSP; \ 309 c->hdr.ident = (_ident); \ 310 c->hdr.length = htole16(sizeof(c->param)); \ 311 \ 312 c->param.dcid = htole16((_dcid)); \ 313 c->param.scid = htole16((_scid)); \ 314} while (0) 315 316/* L2CAP_EchoReq */ 317#define _ng_l2cap_echo_req(_m, _ident, _data, _size) \ 318do { \ 319 ng_l2cap_cmd_hdr_t *c = NULL; \ 320 \ | 302 if ((_m) == NULL) \ 303 break; \ 304 \ 305 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 306 \ 307 c = mtod((_m), struct _discon_rsp *); \ 308 c->hdr.code = NG_L2CAP_DISCON_RSP; \ 309 c->hdr.ident = (_ident); \ 310 c->hdr.length = htole16(sizeof(c->param)); \ 311 \ 312 c->param.dcid = htole16((_dcid)); \ 313 c->param.scid = htole16((_scid)); \ 314} while (0) 315 316/* L2CAP_EchoReq */ 317#define _ng_l2cap_echo_req(_m, _ident, _data, _size) \ 318do { \ 319 ng_l2cap_cmd_hdr_t *c = NULL; \ 320 \ |
321 MGETHDR((_m), M_DONTWAIT, MT_DATA); \ | 321 MGETHDR((_m), M_NOWAIT, MT_DATA); \ |
322 if ((_m) == NULL) \ 323 break; \ 324 \ 325 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 326 \ 327 c = mtod((_m), ng_l2cap_cmd_hdr_t *); \ 328 c->code = NG_L2CAP_ECHO_REQ; \ 329 c->ident = (_ident); \ --- 10 unchanged lines hidden (view full) --- 340/* L2CAP_InfoReq */ 341#define _ng_l2cap_info_req(_m, _ident, _type) \ 342do { \ 343 struct _info_req { \ 344 ng_l2cap_cmd_hdr_t hdr; \ 345 ng_l2cap_info_req_cp param; \ 346 } __attribute__ ((packed)) *c = NULL; \ 347 \ | 322 if ((_m) == NULL) \ 323 break; \ 324 \ 325 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 326 \ 327 c = mtod((_m), ng_l2cap_cmd_hdr_t *); \ 328 c->code = NG_L2CAP_ECHO_REQ; \ 329 c->ident = (_ident); \ --- 10 unchanged lines hidden (view full) --- 340/* L2CAP_InfoReq */ 341#define _ng_l2cap_info_req(_m, _ident, _type) \ 342do { \ 343 struct _info_req { \ 344 ng_l2cap_cmd_hdr_t hdr; \ 345 ng_l2cap_info_req_cp param; \ 346 } __attribute__ ((packed)) *c = NULL; \ 347 \ |
348 MGETHDR((_m), M_DONTWAIT, MT_DATA); \ | 348 MGETHDR((_m), M_NOWAIT, MT_DATA); \ |
349 if ((_m) == NULL) \ 350 break; \ 351 \ 352 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 353 \ 354 c = mtod((_m), struct _info_req *); \ 355 c->hdr.code = NG_L2CAP_INFO_REQ; \ 356 c->hdr.ident = (_ident); \ --- 6 unchanged lines hidden (view full) --- 363#define _ng_l2cap_info_rsp(_m, _ident, _type, _result, _mtu) \ 364do { \ 365 struct _info_rsp { \ 366 ng_l2cap_cmd_hdr_t hdr; \ 367 ng_l2cap_info_rsp_cp param; \ 368 ng_l2cap_info_rsp_data_t data; \ 369 } __attribute__ ((packed)) *c = NULL; \ 370 \ | 349 if ((_m) == NULL) \ 350 break; \ 351 \ 352 (_m)->m_pkthdr.len = (_m)->m_len = sizeof(*c); \ 353 \ 354 c = mtod((_m), struct _info_req *); \ 355 c->hdr.code = NG_L2CAP_INFO_REQ; \ 356 c->hdr.ident = (_ident); \ --- 6 unchanged lines hidden (view full) --- 363#define _ng_l2cap_info_rsp(_m, _ident, _type, _result, _mtu) \ 364do { \ 365 struct _info_rsp { \ 366 ng_l2cap_cmd_hdr_t hdr; \ 367 ng_l2cap_info_rsp_cp param; \ 368 ng_l2cap_info_rsp_data_t data; \ 369 } __attribute__ ((packed)) *c = NULL; \ 370 \ |
371 MGETHDR((_m), M_DONTWAIT, MT_DATA); \ | 371 MGETHDR((_m), M_NOWAIT, MT_DATA); \ |
372 if ((_m) == NULL) \ 373 break; \ 374 \ 375 c = mtod((_m), struct _info_rsp *); \ 376 c->hdr.code = NG_L2CAP_INFO_REQ; \ 377 c->hdr.ident = (_ident); \ 378 c->hdr.length = sizeof(c->param); \ 379 \ --- 24 unchanged lines hidden --- | 372 if ((_m) == NULL) \ 373 break; \ 374 \ 375 c = mtod((_m), struct _info_rsp *); \ 376 c->hdr.code = NG_L2CAP_INFO_REQ; \ 377 c->hdr.ident = (_ident); \ 378 c->hdr.length = sizeof(c->param); \ 379 \ --- 24 unchanged lines hidden --- |