diff options
Diffstat (limited to 'include/l2cap.h')
| -rw-r--r-- | include/l2cap.h | 200 | 
1 files changed, 101 insertions, 99 deletions
diff --git a/include/l2cap.h b/include/l2cap.h index a5110a24..d06eb800 100644 --- a/include/l2cap.h +++ b/include/l2cap.h @@ -1,28 +1,30 @@ -/*  -   BlueZ - Bluetooth protocol stack for Linux -   Copyright (C) 2000-2001 Qualcomm Incorporated - -   Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com> - -   This program is free software; you can redistribute it and/or modify -   it under the terms of the GNU General Public License version 2 as -   published by the Free Software Foundation; - -   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. -   IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY -   CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES  -   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN  -   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF  -   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -   ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,  -   COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS  -   SOFTWARE IS DISCLAIMED. -*/ -  /* + * + *  BlueZ - Bluetooth protocol stack for Linux + * + *  Copyright (C) 2000-2001  Qualcomm Incorporated + *  Copyright (C) 2002-2003  Maxim Krasnyansky <maxk@qualcomm.com> + *  Copyright (C) 2002-2004  Marcel Holtmann <marcel@holtmann.org> + * + * + *  This program is free software; you can redistribute it and/or modify + *  it under the terms of the GNU General Public License version 2 as + *  published by the Free Software Foundation; + * + *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. + *  IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY + *  CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES  + *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN  + *  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF  + *  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + *  ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,  + *  COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS  + *  SOFTWARE IS DISCLAIMED. + * + *   *  $Id$   */ @@ -37,7 +39,7 @@ extern "C" {  #define L2CAP_DEFAULT_MTU	672  #define L2CAP_DEFAULT_FLUSH_TO	0xFFFF -#define L2CAP_CONN_TIMEOUT 	(HZ * 40) +#define L2CAP_CONN_TIMEOUT	(HZ * 40)  /* L2CAP socket address */  struct sockaddr_l2 { @@ -81,87 +83,87 @@ struct l2cap_qos {  #define L2CAP_SERV_GUARANTEED	0x02  /* L2CAP command codes */ -#define L2CAP_COMMAND_REJ 0x01 -#define L2CAP_CONN_REQ    0x02 -#define L2CAP_CONN_RSP    0x03 -#define L2CAP_CONF_REQ    0x04 -#define L2CAP_CONF_RSP    0x05 -#define L2CAP_DISCONN_REQ 0x06 -#define L2CAP_DISCONN_RSP 0x07 -#define L2CAP_ECHO_REQ    0x08 -#define L2CAP_ECHO_RSP    0x09 -#define L2CAP_INFO_REQ    0x0a -#define L2CAP_INFO_RSP    0x0b +#define L2CAP_COMMAND_REJ	0x01 +#define L2CAP_CONN_REQ		0x02 +#define L2CAP_CONN_RSP		0x03 +#define L2CAP_CONF_REQ		0x04 +#define L2CAP_CONF_RSP		0x05 +#define L2CAP_DISCONN_REQ	0x06 +#define L2CAP_DISCONN_RSP	0x07 +#define L2CAP_ECHO_REQ		0x08 +#define L2CAP_ECHO_RSP		0x09 +#define L2CAP_INFO_REQ		0x0a +#define L2CAP_INFO_RSP		0x0b  /* L2CAP structures */  typedef struct { -	uint16_t      len; -	uint16_t      cid; -} __attribute__ ((packed)) 	l2cap_hdr; -#define L2CAP_HDR_SIZE		4 +	uint16_t	len; +	uint16_t	cid; +} __attribute__ ((packed)) l2cap_hdr; +#define L2CAP_HDR_SIZE 4  typedef struct { -	uint8_t       code; -	uint8_t       ident; -	uint16_t      len; -} __attribute__ ((packed))	l2cap_cmd_hdr; -#define L2CAP_CMD_HDR_SIZE	4 +	uint8_t		code; +	uint8_t		ident; +	uint16_t	len; +} __attribute__ ((packed)) l2cap_cmd_hdr; +#define L2CAP_CMD_HDR_SIZE 4  typedef struct { -	uint16_t      reason; -} __attribute__ ((packed))	l2cap_cmd_rej; -#define L2CAP_CMD_REJ_SIZE	2 +	uint16_t	reason; +} __attribute__ ((packed)) l2cap_cmd_rej; +#define L2CAP_CMD_REJ_SIZE 2  typedef struct { -	uint16_t      psm; -	uint16_t      scid; -} __attribute__ ((packed))	l2cap_conn_req; -#define L2CAP_CONN_REQ_SIZE	4 +	uint16_t	psm; +	uint16_t	scid; +} __attribute__ ((packed)) l2cap_conn_req; +#define L2CAP_CONN_REQ_SIZE 4  typedef struct { -	uint16_t      dcid; -	uint16_t      scid; -	uint16_t      result; -	uint16_t      status; -} __attribute__ ((packed))	l2cap_conn_rsp; -#define L2CAP_CONN_RSP_SIZE	8 +	uint16_t	dcid; +	uint16_t	scid; +	uint16_t	result; +	uint16_t	status; +} __attribute__ ((packed)) l2cap_conn_rsp; +#define L2CAP_CONN_RSP_SIZE 8  /* connect result */ -#define L2CAP_CR_SUCCESS    0x0000 -#define L2CAP_CR_PEND       0x0001 -#define L2CAP_CR_BAD_PSM    0x0002 -#define L2CAP_CR_SEC_BLOCK  0x0003 -#define L2CAP_CR_NO_MEM     0x0004 +#define L2CAP_CR_SUCCESS	0x0000 +#define L2CAP_CR_PEND		0x0001 +#define L2CAP_CR_BAD_PSM	0x0002 +#define L2CAP_CR_SEC_BLOCK	0x0003 +#define L2CAP_CR_NO_MEM		0x0004  /* connect status */ -#define L2CAP_CS_NO_INFO      0x0000 -#define L2CAP_CS_AUTHEN_PEND  0x0001 -#define L2CAP_CS_AUTHOR_PEND  0x0002 +#define L2CAP_CS_NO_INFO	0x0000 +#define L2CAP_CS_AUTHEN_PEND	0x0001 +#define L2CAP_CS_AUTHOR_PEND	0x0002  typedef struct { -	uint16_t      dcid; -	uint16_t      flags; -	uint8_t       data[0]; -} __attribute__ ((packed))	l2cap_conf_req; -#define L2CAP_CONF_REQ_SIZE	4 +	uint16_t	dcid; +	uint16_t	flags; +	uint8_t		data[0]; +} __attribute__ ((packed)) l2cap_conf_req; +#define L2CAP_CONF_REQ_SIZE 4  typedef struct { -	uint16_t      scid; -	uint16_t      flags; -	uint16_t      result; -	uint8_t       data[0]; -} __attribute__ ((packed))	l2cap_conf_rsp; -#define L2CAP_CONF_RSP_SIZE   	6 +	uint16_t	scid; +	uint16_t	flags; +	uint16_t	result; +	uint8_t		data[0]; +} __attribute__ ((packed)) l2cap_conf_rsp; +#define L2CAP_CONF_RSP_SIZE 6  #define L2CAP_CONF_SUCCESS	0x00  #define L2CAP_CONF_UNACCEPT	0x01  typedef struct { -	uint8_t       type; -	uint8_t       len; -	uint8_t       val[0]; -} __attribute__ ((packed))	l2cap_conf_opt; -#define L2CAP_CONF_OPT_SIZE	2 +	uint8_t		type; +	uint8_t		len; +	uint8_t		val[0]; +} __attribute__ ((packed)) l2cap_conf_opt; +#define L2CAP_CONF_OPT_SIZE 2  #define L2CAP_CONF_MTU		0x01  #define L2CAP_CONF_FLUSH_TO	0x02 @@ -170,29 +172,29 @@ typedef struct {  #define L2CAP_CONF_MAX_SIZE	22  typedef struct { -	uint16_t      dcid; -	uint16_t      scid; -} __attribute__ ((packed)) 	l2cap_disconn_req; -#define L2CAP_DISCONN_REQ_SIZE	4 +	uint16_t	dcid; +	uint16_t	scid; +} __attribute__ ((packed)) l2cap_disconn_req; +#define L2CAP_DISCONN_REQ_SIZE 4  typedef struct { -	uint16_t      dcid; -	uint16_t      scid; -} __attribute__ ((packed)) 	l2cap_disconn_rsp; -#define L2CAP_DISCONN_RSP_SIZE	4 +	uint16_t	dcid; +	uint16_t	scid; +} __attribute__ ((packed)) l2cap_disconn_rsp; +#define L2CAP_DISCONN_RSP_SIZE 4  typedef struct { -	uint16_t       type; -	uint8_t        data[0]; -} __attribute__ ((packed))	l2cap_info_req; -#define L2CAP_INFO_REQ_SIZE	2 +	uint16_t	type; +	uint8_t		data[0]; +} __attribute__ ((packed)) l2cap_info_req; +#define L2CAP_INFO_REQ_SIZE 2  typedef struct { -	uint16_t       type; -	uint16_t       result; -	uint8_t        data[0]; -} __attribute__ ((packed))	l2cap_info_rsp; -#define L2CAP_INFO_RSP_SIZE	4 +	uint16_t	type; +	uint16_t	result; +	uint8_t		data[0]; +} __attribute__ ((packed)) l2cap_info_rsp; +#define L2CAP_INFO_RSP_SIZE 4  #ifdef __cplusplus  }  | 
