Deleted Added
full compact
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 ---