From ca16ae22dd4542899a4a8c9a843fc6f7e72dbab4 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 31 Mar 2004 16:35:56 +0000 Subject: Add header files of the SDP library --- include/sdp.h | 396 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 396 insertions(+) create mode 100644 include/sdp.h (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h new file mode 100644 index 00000000..77564850 --- /dev/null +++ b/include/sdp.h @@ -0,0 +1,396 @@ +/* + Service Discovery Protocol (SDP) + Copyright (C) 2002 Maxim Krasnyansky + + Based on original SDP implementation by Nokia Corporation. + Copyright (C) 2001,2002 Nokia Corporation. + Original author Guruprasad Krishnamurthy + + 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$ + */ + +#ifndef SDP_H +#define SDP_H + +#include + +#define SDP_UNIX_PATH "/var/run/sdp" +#define SDP_RESPONSE_TIMEOUT 20 +#define SDP_REQ_BUFFER_SIZE 2048 +#define SDP_RSP_BUFFER_SIZE 65535 +#define SDP_PDU_CHUNK_SIZE 1024 + +/* + * All definitions are based on Bluetooth Assigned Numbers + * of the Bluetooth Specification + */ +#define SDP_PSM 0x0001 + +/* + * Protocol UUIDs + */ +#define SDP_UUID 0x0001 +#define RFCOMM_UUID 0x0003 +#define TCS_BIN_UUID 0x0005 +#define L2CAP_UUID 0x0100 +#define IP_UUID 0x0009 +#define UDP_UUID 0x0002 +#define TCP_UUID 0x0004 +#define TCS_BIN_UUID 0x0005 +#define TCS_AT_UUID 0x0006 +#define OBEX_UUID 0x0008 +#define FTP_UUID 0x000A +#define HTTP_UUID 0x000C +#define WSP_UUID 0x000E +#define BNEP_UUID 0x000F +#define HIDP_UUID 0x0011 +#define CMTP_UUID 0x001B + +/* + * Service class identifiers of standard services and service groups + */ +#define SDP_SERVER_SVCLASS_ID 0x1000 +#define BROWSE_GRP_DESC_SVCLASS_ID 0x1001 +#define PUBLIC_BROWSE_GROUP 0x1002 +#define SERIAL_PORT_SVCLASS_ID 0x1101 +#define LAN_ACCESS_SVCLASS_ID 0x1102 +#define DIALUP_NET_SVCLASS_ID 0x1103 +#define IRMC_SYNC_SVCLASS_ID 0x1104 +#define OBEX_OBJPUSH_SVCLASS_ID 0x1105 +#define OBEX_FILETRANS_SVCLASS_ID 0x1106 +#define IRMC_SYNC_CMD_SVCLASS_ID 0x1107 +#define HEADSET_SVCLASS_ID 0x1108 +#define CORDLESS_TELEPHONY_SVCLASS_ID 0x1109 +#define INTERCOM_SVCLASS_ID 0x1110 +#define FAX_SVCLASS_ID 0x1111 +#define HEADSET_AGW_SVCLASS_ID 0x1112 +#define PANU_SVCLASS_ID 0x1115 +#define NAP_SVCLASS_ID 0x1116 +#define GN_SVCLASS_ID 0x1117 +#define IMAGING_SVCLASS_ID 0x111a +#define IMAGING_RESPONDER_SVCLASS_ID 0x111b +#define HANDSFREE_SVCLASS_ID 0x111e +#define HANDSFREE_AUDIO_GW_SVCLASS_ID 0x111f +#define HID_SVCLASS_ID 0x1124 +#define CIP_SVCLASS_ID 0x1128 +#define PNP_INFO_SVCLASS_ID 0x1200 +#define GENERIC_NETWORKING_SVCLASS_ID 0x1201 +#define GENERIC_FILETRANS_SVCLASS_ID 0x1202 +#define GENERIC_AUDIO_SVCLASS_ID 0x1203 +#define GENERIC_TELEPHONY_SVCLASS_ID 0x1204 + +/* + * Standard profile descriptor identifiers; note these + * may be identical to some of the service classes defined above + */ +#define SERIAL_PORT_PROFILE_ID 0x1101 +#define LAN_ACCESS_PROFILE_ID 0x1102 +#define DIALUP_NET_PROFILE_ID 0x1103 +#define IRMC_SYNC_PROFILE_ID 0x1104 +#define OBEX_OBJPUSH_PROFILE_ID 0x1105 +#define OBEX_FILETRANS_PROFILE_ID 0x1106 +#define IRMC_SYNC_CMD_PROFILE_ID 0x1107 +#define HEADSET_PROFILE_ID 0x1108 +#define CORDLESS_TELEPHONY_PROFILE_ID 0x1109 +#define INTERCOM_PROFILE_ID 0x1110 +#define FAX_PROFILE_ID 0x1111 +#define HEADSET_AGW_PROFILE_ID 0x1112 +#define PANU_PROFILE_ID 0x1115 +#define NAP_PROFILE_ID 0x1116 +#define GN_PROFILE_ID 0x1117 +#define IMAGING_PROFILE_ID 0x111a +#define IMAGING_RESPONDER_PROFILE_ID 0x111b +#define HANDSFREE_PROFILE_ID 0x111e +#define HID_PROFILE_ID 0x1124 +#define CIP_PROFILE_ID 0x1128 + +/* + * Attribute identifier codes + */ +#define SDP_SERVER_RECORD_HANDLE 0x0000 + +/* + * Possible values for attribute-id are listed below. + * See SDP Spec, section "Service Attribute Definitions" for more details. + */ +#define SDP_ATTR_RECORD_HANDLE 0x0000 +#define SDP_ATTR_SVCLASS_ID_LIST 0x0001 +#define SDP_ATTR_RECORD_STATE 0x0002 +#define SDP_ATTR_SERVICE_ID 0x0003 +#define SDP_ATTR_PROTO_DESC_LIST 0x0004 +#define SDP_ATTR_BROWSE_GRP_LIST 0x0005 +#define SDP_ATTR_LANG_BASE_ATTR_ID_LIST 0x0006 +#define SDP_ATTR_SVCINFO_TTL 0x0007 +#define SDP_ATTR_SERVICE_AVAILABILITY 0x0008 +#define SDP_ATTR_PFILE_DESC_LIST 0x0009 +#define SDP_ATTR_DOC_URL 0x000A +#define SDP_ATTR_CLNT_EXEC_URL 0x000B +#define SDP_ATTR_ICON_URL 0x000C + +#define SDP_ATTR_IP_SUBNET 0x0200 +#define SDP_ATTR_SERVICE_VERSION 0x0300 +#define SDP_EXTERNAL_NETWORK 0x0301 +#define SDP_ATTR_SUPPORTED_DATA_STORES_LIST 0x0301 +#define SDP_ATTR_REMOTE_AUDIO_VOLUME_CONTROL 0x0302 +#define SDP_ATTR_SUPPORTED_FORMATS_LIST 0x0303 +#define SDP_ATTR_SECURITY_DESC 0x030A +#define SDP_ATTR_NET_ACCESS_TYPE 0x030B +#define SDP_ATTR_MAX_NET_ACCESSRATE 0x030C +#define SDP_ATTR_IP4_SUBNET 0x030D +#define SDP_ATTR_IP6_SUBNET 0x030E +#define SDP_SUPPORTED_FEATURES 0x0311 + + +/* + * These identifiers are based on the SDP spec stating that + * "base attribute id of the primary (universal) language must be 0x0100" + */ +#define SDP_PRIMARY_LANG_BASE 0x0100 + +#define SDP_ATTR_SVCNAME_PRIMARY 0x0000 + SDP_PRIMARY_LANG_BASE +#define SDP_ATTR_SVCDESC_PRIMARY 0x0001 + SDP_PRIMARY_LANG_BASE +#define SDP_ATTR_PROVNAME_PRIMARY 0x0002 + SDP_PRIMARY_LANG_BASE + +/* + * Other languages should have their own offset; e.g.: + * #define XXXLangBase yyyy + * #define AttrServiceName_XXX 0x0000+XXXLangBase + * ... + */ + +/* + * These attributes are specific to the SDP server only; i.e., + * can be present only in the service record of the SDP server + */ +#define SDP_ATTR_VERSION_NUM_LIST 0x0200 +#define SDP_ATTR_SVCDB_STATE 0x0201 +#define SDP_ATTR_GROUP_ID 0x0200 + +/* + * The Data representation in SDP PDUs (pps 339, 340 of BT SDP Spec) + * These are the exact data type+size descriptor values + * that go into the PDU buffer. + * + * The datatype (leading 5bits) + size descriptor (last 3 bits) + * is 8 bits. The size descriptor is critical to extract the + * right number of bytes for the data value from the PDU. + * + * For most basic types, the datatype+size descriptor is + * straightforward. However for constructed types and strings, + * the size of the data is in the next "n" bytes following the + * 8 bits (datatype+size) descriptor. Exactly what the "n" is + * specified in the 3 bits of the data size descriptor. + * + * TextString and URLString can be of size 2^{8, 16, 32} bytes + * DataSequence and DataSequenceAlternates can be of size 2^{8, 16, 32} + * The size are computed post-facto in the API and are not known apriori + */ +#define SDP_DATA_NIL 0x00 +#define SDP_UINT8 0x08 +#define SDP_UINT16 0x09 +#define SDP_UINT32 0x0A +#define SDP_UINT64 0x0B +#define SDP_UINT128 0x0C +#define SDP_INT8 0x10 +#define SDP_INT16 0x11 +#define SDP_INT32 0x12 +#define SDP_INT64 0x13 +#define SDP_INT128 0x14 +#define SDP_UUID_UNSPEC 0x18 +#define SDP_UUID16 0x19 +#define SDP_UUID32 0x1A +#define SDP_UUID128 0x1C +#define SDP_TEXT_STR_UNSPEC 0x20 +#define SDP_TEXT_STR8 0x25 +#define SDP_TEXT_STR16 0x26 +#define SDP_TEXT_STR32 0x27 +#define SDP_BOOL 0x28 +#define SDP_SEQ_UNSPEC 0x30 +#define SDP_SEQ8 0x35 +#define SDP_SEQ16 0x36 +#define SDP_SEQ32 0x37 +#define SDP_ALT_UNSPEC 0x38 +#define SDP_ALT8 0x3D +#define SDP_ALT16 0x3E +#define SDP_ALT32 0x3F +#define SDP_URL_STR_UNSPEC 0x40 +#define SDP_URL_STR8 0x45 +#define SDP_URL_STR16 0x46 +#define SDP_URL_STR32 0x47 + +/* + * The PDU identifiers of SDP packets between client and server + */ +#define SDP_ERROR_RSP 0x01 +#define SDP_SVC_SEARCH_REQ 0x02 +#define SDP_SVC_SEARCH_RSP 0x03 +#define SDP_SVC_ATTR_REQ 0x04 +#define SDP_SVC_ATTR_RSP 0x05 +#define SDP_SVC_SEARCH_ATTR_REQ 0x06 +#define SDP_SVC_SEARCH_ATTR_RSP 0x07 + +/* + * Some additions to support service registration. + * These are outside the scope of the Bluetooth specification + */ +#define SDP_SVC_REGISTER_REQ 0x75 +#define SDP_SVC_REGISTER_RSP 0x76 +#define SDP_SVC_UPDATE_REQ 0x77 +#define SDP_SVC_UPDATE_RSP 0x78 +#define SDP_SVC_REMOVE_REQ 0x79 +#define SDP_SVC_REMOVE_RSP 0x80 + +/* + * Values of the flags parameter to sdp_record_register + */ +#define SDP_RECORD_PERSIST 0x01 + +/* + * Values of the flags parameter to sdp_connect + */ +#define SDP_RETRY_IF_BUSY 0x01 + +/* + * SDP Error codes + */ +#define SDP_INVALID_VERSION 0x0001 +#define SDP_INVALID_RECORD_HANDLE 0x0002 +#define SDP_INVALID_SYNTAX 0x0003 +#define SDP_INVALID_PDU_SIZE 0x0004 +#define SDP_INVALID_CSTATE 0x0005 + +/* + * SDP PDU + */ +typedef struct { + uint8_t pdu_id; + uint16_t tid; + uint16_t plen; +} __attribute__ ((packed)) sdp_pdu_hdr_t; + +/* + * Common definitions for attributes in the SDP. + * Should the type of any of these change, you need only make a change here. + */ +typedef struct { + char data[16]; +} uint128_t; + +typedef struct { + uint8_t type; + union { + uint16_t uuid16; + uint32_t uuid32; + uint128_t uuid128; + } value; +} uuid_t; + +#define SDP_IS_UUID(x) ((x) == SDP_UUID16 || (x) == SDP_UUID32 || (x) ==SDP_UUID128) + +typedef struct _sdp_list sdp_list_t; +struct _sdp_list { + sdp_list_t *next; + void *data; +}; + +/* + * User-visible strings can be in many languages + * in addition to the universal language. + * + * Language meta-data includes language code in ISO639 + * followed by the encoding format. The third field in this + * structure is the attribute offset for the language. + * User-visible strings in the specified language can be + * obtained at this offset. + */ +typedef struct { + uint16_t code_ISO639; + uint16_t encoding; + uint16_t base_offset; +} sdp_lang_attr_t; + +/* + * Profile descriptor is the Bluetooth profile metadata. If a + * service conforms to a well-known profile, then its profile + * identifier (UUID) is an attribute of the service. In addition, + * if the profile has a version number it is specified here. + */ +typedef struct { + uuid_t uuid; + uint16_t version; +} sdp_profile_desc_t; + +typedef struct { + uint8_t major; + uint8_t minor; +} sdp_version_t; + +typedef struct { + char *data; + int data_size; + int buf_size; +} sdp_buf_t; + +typedef struct { + uint32_t handle; + + /* + * Search pattern: a sequence of all UUIDs seen in this record + */ + sdp_list_t *pattern; + sdp_list_t *attrlist; +} sdp_record_t; + +typedef struct sdp_data_struct sdp_data_t; +struct sdp_data_struct { + uint8_t dtd; + uint16_t attrId; + union { + int8_t int8; + int16_t int16; + int32_t int32; + int64_t int64; + uint128_t int128; + uint8_t uint8; + uint16_t uint16; + uint32_t uint32; + uint64_t uint64; + uint128_t uint128; + uuid_t uuid; + char *str; + sdp_data_t *dataseq; + } val; + sdp_data_t *next; + int unitSize; +}; + +/* + * a session with an SDP server + */ +typedef struct { + int sock; + int state; + int local; + int flags; + uint16_t tid; // Current transaction ID +} sdp_session_t; + +#endif -- cgit From 764abe23a0d4ede999f1f34ee0e310c0eeaaff79 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sat, 3 Apr 2004 05:11:38 +0000 Subject: Update copyright information --- include/sdp.h | 66 ++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 28 deletions(-) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 77564850..13205b9b 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -1,34 +1,40 @@ /* - Service Discovery Protocol (SDP) - Copyright (C) 2002 Maxim Krasnyansky - - Based on original SDP implementation by Nokia Corporation. - Copyright (C) 2001,2002 Nokia Corporation. - Original author Guruprasad Krishnamurthy - - 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$ + * + * BlueZ - Bluetooth protocol stack for Linux + * + * Copyright (C) 2001-2002 Nokia Corporation + * Copyright (C) 2002-2003 Maxim Krasnyansky + * Copyright (C) 2002-2004 Marcel Holtmann + * Copyright (C) 2002-2003 Stephen Crane + * + * + * 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$ */ -#ifndef SDP_H -#define SDP_H +#ifndef __SDP_H +#define __SDP_H + +#ifdef __cplusplus +extern "C" { +#endif #include @@ -393,4 +399,8 @@ typedef struct { uint16_t tid; // Current transaction ID } sdp_session_t; +#ifdef __cplusplus +} #endif + +#endif /* __SDP_H */ -- cgit From edb4586c5bd45aaa69c0910150f0012ca3251c7e Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sun, 2 May 2004 21:33:54 +0000 Subject: Add attribute id for additional protocol list --- include/sdp.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 13205b9b..e62ab876 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -150,6 +150,7 @@ extern "C" { #define SDP_ATTR_DOC_URL 0x000A #define SDP_ATTR_CLNT_EXEC_URL 0x000B #define SDP_ATTR_ICON_URL 0x000C +#define SDP_ATTR_ADD_PROTO_DESC_LIST 0x000D #define SDP_ATTR_IP_SUBNET 0x0200 #define SDP_ATTR_SERVICE_VERSION 0x0300 -- cgit From 2d0eb2ad3222761c5c410fc9340ff23ce58680ac Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sun, 2 May 2004 21:50:20 +0000 Subject: Add HCRP related profile and service class id's --- include/sdp.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index e62ab876..e28c4702 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -96,6 +96,9 @@ extern "C" { #define HANDSFREE_SVCLASS_ID 0x111e #define HANDSFREE_AUDIO_GW_SVCLASS_ID 0x111f #define HID_SVCLASS_ID 0x1124 +#define HCR_SVCLASS_ID 0x1125 +#define HCR_PRINT_SVCLASS_ID 0x1126 +#define HCR_SCAN_SVCLASS_ID 0x1127 #define CIP_SVCLASS_ID 0x1128 #define PNP_INFO_SVCLASS_ID 0x1200 #define GENERIC_NETWORKING_SVCLASS_ID 0x1201 @@ -126,6 +129,7 @@ extern "C" { #define IMAGING_RESPONDER_PROFILE_ID 0x111b #define HANDSFREE_PROFILE_ID 0x111e #define HID_PROFILE_ID 0x1124 +#define HCR_PROFILE_ID 0x1125 #define CIP_PROFILE_ID 0x1128 /* -- cgit From 6537173ad53f64d51bfa11788a3588c5fde27afc Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sun, 2 May 2004 21:55:01 +0000 Subject: Add HCRP UUID defines --- include/sdp.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index e28c4702..7a654fc4 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -68,6 +68,9 @@ extern "C" { #define WSP_UUID 0x000E #define BNEP_UUID 0x000F #define HIDP_UUID 0x0011 +#define HCRP_CTRL_UUID 0x0012 +#define HCRP_DATA_UUID 0x0014 +#define HCRP_NOTE_UUID 0x0016 #define CMTP_UUID 0x001B /* -- cgit From c420aef6fe7d316ee053e69f7e901db39443361b Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 9 Jun 2004 13:59:03 +0000 Subject: Add defines for audio/video profiles --- include/sdp.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 7a654fc4..3ba10f20 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -88,6 +88,8 @@ extern "C" { #define IRMC_SYNC_CMD_SVCLASS_ID 0x1107 #define HEADSET_SVCLASS_ID 0x1108 #define CORDLESS_TELEPHONY_SVCLASS_ID 0x1109 +#define AUDIO_SOURCE_SVCLASS_ID 0x110a +#define AUDIO_SINK_SVCLASS_ID 0x110b #define INTERCOM_SVCLASS_ID 0x1110 #define FAX_SVCLASS_ID 0x1111 #define HEADSET_AGW_SVCLASS_ID 0x1112 @@ -108,6 +110,8 @@ extern "C" { #define GENERIC_FILETRANS_SVCLASS_ID 0x1202 #define GENERIC_AUDIO_SVCLASS_ID 0x1203 #define GENERIC_TELEPHONY_SVCLASS_ID 0x1204 +#define VIDEO_SOURCE_SVCLASS_ID 0x1303 +#define VIDEO_SINK_SVCLASS_ID 0x1304 /* * Standard profile descriptor identifiers; note these @@ -122,6 +126,7 @@ extern "C" { #define IRMC_SYNC_CMD_PROFILE_ID 0x1107 #define HEADSET_PROFILE_ID 0x1108 #define CORDLESS_TELEPHONY_PROFILE_ID 0x1109 +#define ADVANCED_AUDIO_PROFILE_ID 0x110d #define INTERCOM_PROFILE_ID 0x1110 #define FAX_PROFILE_ID 0x1111 #define HEADSET_AGW_PROFILE_ID 0x1112 -- cgit From 4691560c56de8c5cef68bd4acee97e53e193b717 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 9 Jun 2004 16:41:51 +0000 Subject: Add UUID's for AVCTP and AVDTP --- include/sdp.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 3ba10f20..8acd862e 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -71,6 +71,8 @@ extern "C" { #define HCRP_CTRL_UUID 0x0012 #define HCRP_DATA_UUID 0x0014 #define HCRP_NOTE_UUID 0x0016 +#define AVCTP_UUID 0x0017 +#define AVDTP_UUID 0x0019 #define CMTP_UUID 0x001B /* -- cgit From 735e59b37803748fea1077de064b285f78de1c10 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 13 Oct 2004 12:03:16 +0000 Subject: Add SIM Access types --- include/sdp.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 8acd862e..7c529de1 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -107,6 +107,7 @@ extern "C" { #define HCR_PRINT_SVCLASS_ID 0x1126 #define HCR_SCAN_SVCLASS_ID 0x1127 #define CIP_SVCLASS_ID 0x1128 +#define SAP_SVCLASS_ID 0x112d #define PNP_INFO_SVCLASS_ID 0x1200 #define GENERIC_NETWORKING_SVCLASS_ID 0x1201 #define GENERIC_FILETRANS_SVCLASS_ID 0x1202 @@ -141,6 +142,7 @@ extern "C" { #define HID_PROFILE_ID 0x1124 #define HCR_PROFILE_ID 0x1125 #define CIP_PROFILE_ID 0x1128 +#define SAP_PROFILE_ID 0x112d /* * Attribute identifier codes -- cgit From 0ea7064b34d9f03e9aa7d8abeb7c0e6bcc8a37ac Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Mon, 29 Nov 2004 03:48:21 +0000 Subject: Add service classes and profile ids for WAP --- include/sdp.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 7c529de1..712e42e7 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -95,6 +95,8 @@ extern "C" { #define INTERCOM_SVCLASS_ID 0x1110 #define FAX_SVCLASS_ID 0x1111 #define HEADSET_AGW_SVCLASS_ID 0x1112 +#define WAP_SVCLASS_ID 0x1113 +#define WAP_CLIENT_SVCLASS_ID 0x1114 #define PANU_SVCLASS_ID 0x1115 #define NAP_SVCLASS_ID 0x1116 #define GN_SVCLASS_ID 0x1117 @@ -133,6 +135,8 @@ extern "C" { #define INTERCOM_PROFILE_ID 0x1110 #define FAX_PROFILE_ID 0x1111 #define HEADSET_AGW_PROFILE_ID 0x1112 +#define WAP_PROFILE_ID 0x1113 +#define WAP_CLIENT_PROFILE_ID 0x1114 #define PANU_PROFILE_ID 0x1115 #define NAP_PROFILE_ID 0x1116 #define GN_PROFILE_ID 0x1117 -- cgit From 6864c723272d4790a2fec4a1c23fa5e46ac15e5f Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Tue, 7 Dec 2004 11:29:58 +0000 Subject: Update the UUID constants and its translations --- include/sdp.h | 126 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 91 insertions(+), 35 deletions(-) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 712e42e7..8f832ea6 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -54,26 +54,27 @@ extern "C" { * Protocol UUIDs */ #define SDP_UUID 0x0001 -#define RFCOMM_UUID 0x0003 -#define TCS_BIN_UUID 0x0005 -#define L2CAP_UUID 0x0100 -#define IP_UUID 0x0009 #define UDP_UUID 0x0002 +#define RFCOMM_UUID 0x0003 #define TCP_UUID 0x0004 #define TCS_BIN_UUID 0x0005 #define TCS_AT_UUID 0x0006 #define OBEX_UUID 0x0008 -#define FTP_UUID 0x000A -#define HTTP_UUID 0x000C -#define WSP_UUID 0x000E -#define BNEP_UUID 0x000F +#define IP_UUID 0x0009 +#define FTP_UUID 0x000a +#define HTTP_UUID 0x000c +#define WSP_UUID 0x000e +#define BNEP_UUID 0x000f +#define UPNP_UUID 0x0010 #define HIDP_UUID 0x0011 #define HCRP_CTRL_UUID 0x0012 #define HCRP_DATA_UUID 0x0014 #define HCRP_NOTE_UUID 0x0016 #define AVCTP_UUID 0x0017 #define AVDTP_UUID 0x0019 -#define CMTP_UUID 0x001B +#define CMTP_UUID 0x001b +#define UDI_UUID 0x001d +#define L2CAP_UUID 0x0100 /* * Service class identifiers of standard services and service groups @@ -92,6 +93,10 @@ extern "C" { #define CORDLESS_TELEPHONY_SVCLASS_ID 0x1109 #define AUDIO_SOURCE_SVCLASS_ID 0x110a #define AUDIO_SINK_SVCLASS_ID 0x110b +#define AV_REMOTE_TARGET_SVCLASS_ID 0x110c +#define ADVANCED_AUDIO_SVCLASS_ID 0x110d +#define AV_REMOTE_SVCLASS_ID 0x110e +#define VIDEO_CONF_SVCLASS_ID 0x110f #define INTERCOM_SVCLASS_ID 0x1110 #define FAX_SVCLASS_ID 0x1111 #define HEADSET_AGW_SVCLASS_ID 0x1112 @@ -100,21 +105,38 @@ extern "C" { #define PANU_SVCLASS_ID 0x1115 #define NAP_SVCLASS_ID 0x1116 #define GN_SVCLASS_ID 0x1117 +#define DIRECT_PRINTING_SVCLASS_ID 0x1118 +#define REFERENCE_PRINTING_SVCLASS_ID 0x1119 #define IMAGING_SVCLASS_ID 0x111a #define IMAGING_RESPONDER_SVCLASS_ID 0x111b +#define IMAGING_ARCHIVE_SVCLASS_ID 0x111c +#define IMAGING_REFOBJS_SVCLASS_ID 0x111d #define HANDSFREE_SVCLASS_ID 0x111e -#define HANDSFREE_AUDIO_GW_SVCLASS_ID 0x111f +#define HANDSFREE_AGW_SVCLASS_ID 0x111f +#define DIRECT_PRT_REFOBJS_SVCLASS_ID 0x1120 +#define REFLECTED_UI_SVCLASS_ID 0x1121 +#define BASIC_PRINTING_SVCLASS_ID 0x1122 +#define PRINTING_STATUS_SVCLASS_ID 0x1123 #define HID_SVCLASS_ID 0x1124 #define HCR_SVCLASS_ID 0x1125 #define HCR_PRINT_SVCLASS_ID 0x1126 #define HCR_SCAN_SVCLASS_ID 0x1127 #define CIP_SVCLASS_ID 0x1128 +#define VIDEO_CONF_GW_SVCLASS_ID 0x1129 +#define UDI_MT_SVCLASS_ID 0x112a +#define UDI_TA_SVCLASS_ID 0x112b +#define AV_SVCLASS_ID 0x112c #define SAP_SVCLASS_ID 0x112d #define PNP_INFO_SVCLASS_ID 0x1200 #define GENERIC_NETWORKING_SVCLASS_ID 0x1201 #define GENERIC_FILETRANS_SVCLASS_ID 0x1202 #define GENERIC_AUDIO_SVCLASS_ID 0x1203 #define GENERIC_TELEPHONY_SVCLASS_ID 0x1204 +#define UPNP_SVCLASS_ID 0x1205 +#define UPNP_IP_SVCLASS_ID 0x1206 +#define UPNP_PAN_SVCLASS_ID 0x1300 +#define UPNP_LAP_SVCLASS_ID 0x1301 +#define UPNP_L2CAP_SVCLASS_ID 0x1302 #define VIDEO_SOURCE_SVCLASS_ID 0x1303 #define VIDEO_SINK_SVCLASS_ID 0x1304 @@ -122,31 +144,65 @@ extern "C" { * Standard profile descriptor identifiers; note these * may be identical to some of the service classes defined above */ -#define SERIAL_PORT_PROFILE_ID 0x1101 -#define LAN_ACCESS_PROFILE_ID 0x1102 -#define DIALUP_NET_PROFILE_ID 0x1103 -#define IRMC_SYNC_PROFILE_ID 0x1104 -#define OBEX_OBJPUSH_PROFILE_ID 0x1105 -#define OBEX_FILETRANS_PROFILE_ID 0x1106 -#define IRMC_SYNC_CMD_PROFILE_ID 0x1107 -#define HEADSET_PROFILE_ID 0x1108 -#define CORDLESS_TELEPHONY_PROFILE_ID 0x1109 -#define ADVANCED_AUDIO_PROFILE_ID 0x110d -#define INTERCOM_PROFILE_ID 0x1110 -#define FAX_PROFILE_ID 0x1111 -#define HEADSET_AGW_PROFILE_ID 0x1112 -#define WAP_PROFILE_ID 0x1113 -#define WAP_CLIENT_PROFILE_ID 0x1114 -#define PANU_PROFILE_ID 0x1115 -#define NAP_PROFILE_ID 0x1116 -#define GN_PROFILE_ID 0x1117 -#define IMAGING_PROFILE_ID 0x111a -#define IMAGING_RESPONDER_PROFILE_ID 0x111b -#define HANDSFREE_PROFILE_ID 0x111e -#define HID_PROFILE_ID 0x1124 -#define HCR_PROFILE_ID 0x1125 -#define CIP_PROFILE_ID 0x1128 -#define SAP_PROFILE_ID 0x112d +#define SDP_SERVER_PROFILE_ID SDP_SERVER_SVCLASS_ID +#define BROWSE_GRP_DESC_PROFILE_ID BROWSE_GRP_DESC_SVCLASS_ID +#define SERIAL_PORT_PROFILE_ID SERIAL_PORT_SVCLASS_ID +#define LAN_ACCESS_PROFILE_ID LAN_ACCESS_SVCLASS_ID +#define DIALUP_NET_PROFILE_ID DIALUP_NET_SVCLASS_ID +#define IRMC_SYNC_PROFILE_ID IRMC_SYNC_SVCLASS_ID +#define OBEX_OBJPUSH_PROFILE_ID OBEX_OBJPUSH_SVCLASS_ID +#define OBEX_FILETRANS_PROFILE_ID OBEX_FILETRANS_SVCLASS_ID +#define IRMC_SYNC_CMD_PROFILE_ID IRMC_SYNC_CMD_SVCLASS_ID +#define HEADSET_PROFILE_ID HEADSET_SVCLASS_ID +#define CORDLESS_TELEPHONY_PROFILE_ID CORDLESS_TELEPHONY_SVCLASS_ID +#define AUDIO_SOURCE_PROFILE_ID AUDIO_SOURCE_SVCLASS_ID +#define AUDIO_SINK_PROFILE_ID AUDIO_SINK_SVCLASS_ID +#define AV_REMOTE_TARGET_PROFILE_ID AV_REMOTE_TARGET_SVCLASS_ID +#define ADVANCED_AUDIO_PROFILE_ID ADVANCED_AUDIO_SVCLASS_ID +#define AV_REMOTE_PROFILE_ID AV_REMOTE_SVCLASS_ID +#define VIDEO_CONF_PROFILE_ID VIDEO_CONF_SVCLASS_ID +#define INTERCOM_PROFILE_ID INTERCOM_SVCLASS_ID +#define FAX_PROFILE_ID FAX_SVCLASS_ID +#define HEADSET_AGW_PROFILE_ID HEADSET_AGW_SVCLASS_ID +#define WAP_PROFILE_ID WAP_SVCLASS_ID +#define WAP_CLIENT_PROFILE_ID WAP_CLIENT_SVCLASS_ID +#define PANU_PROFILE_ID PANU_SVCLASS_ID +#define NAP_PROFILE_ID NAP_SVCLASS_ID +#define GN_PROFILE_ID GN_SVCLASS_ID +#define DIRECT_PRINTING_PROFILE_ID DIRECT_PRINTING_SVCLASS_ID +#define REFERENCE_PRINTING_PROFILE_ID REFERENCE_PRINTING_SVCLASS_ID +#define IMAGING_PROFILE_ID IMAGING_SVCLASS_ID +#define IMAGING_RESPONDER_PROFILE_ID IMAGING_RESPONDER_SVCLASS_ID +#define IMAGING_ARCHIVE_PROFILE_ID IMAGING_ARCHIVE_SVCLASS_ID +#define IMAGING_REFOBJS_PROFILE_ID IMAGING_REFOBJS_SVCLASS_ID +#define HANDSFREE_PROFILE_ID HANDSFREE_SVCLASS_ID +#define HANDSFREE_AGW_PROFILE_ID HANDSFREE_AGW_SVCLASS_ID +#define DIRECT_PRT_REFOBJS_PROFILE_ID DIRECT_PRT_REFOBJS_SVCLASS_ID +#define REFLECTED_UI_PROFILE_ID REFLECTED_UI_SVCLASS_ID +#define BASIC_PRINTING_PROFILE_ID BASIC_PRINTING_SVCLASS_ID +#define PRINTING_STATUS_PROFILE_ID PRINTING_STATUS_SVCLASS_ID +#define HID_PROFILE_ID HID_SVCLASS_ID +#define HCR_PROFILE_ID HCR_SCAN_SVCLASS_ID +#define HCR_PRINT_PROFILE_ID HCR_PRINT_SVCLASS_ID +#define HCR_SCAN_PROFILE_ID HCR_SCAN_SVCLASS_ID +#define CIP_PROFILE_ID CIP_SVCLASS_ID +#define VIDEO_CONF_GW_PROFILE_ID VIDEO_CONF_GW_SVCLASS_ID +#define UDI_MT_PROFILE_ID UDI_MT_SVCLASS_ID +#define UDI_TA_PROFILE_ID UDI_TA_SVCLASS_ID +#define AV_PROFILE_ID AV_SVCLASS_ID +#define SAP_PROFILE_ID SAP_SVCLASS_ID +#define PNP_INFO_PROFILE_ID PNP_INFO_SVCLASS_ID +#define GENERIC_NETWORKING_PROFILE_ID GENERIC_NETWORKING_SVCLASS_ID +#define GENERIC_FILETRANS_PROFILE_ID GENERIC_FILETRANS_SVCLASS_ID +#define GENERIC_AUDIO_PROFILE_ID GENERIC_AUDIO_SVCLASS_ID +#define GENERIC_TELEPHONY_PROFILE_ID GENERIC_TELEPHONY_SVCLASS_ID +#define UPNP_PROFILE_ID UPNP_SVCLASS_ID +#define UPNP_IP_PROFILE_ID UPNP_IP_SVCLASS_ID +#define UPNP_PAN_PROFILE_ID UPNP_PAN_SVCLASS_ID +#define UPNP_LAP_PROFILE_ID UPNP_LAP_SVCLASS_ID +#define UPNP_L2CAP_PROFILE_ID UPNP_L2CAP_SVCLASS_ID +#define VIDEO_SOURCE_PROFILE_ID VIDEO_SOURCE_SVCLASS_ID +#define VIDEO_SINK_PROFILE_ID VIDEO_SINK_SVCLASS_ID /* * Attribute identifier codes -- cgit From 2fda2326e810170225ddc7bf0c43479b617a1a5f Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Tue, 7 Dec 2004 12:17:16 +0000 Subject: Cleanup attribute definitions --- include/sdp.h | 97 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 50 insertions(+), 47 deletions(-) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 8f832ea6..4b966618 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -207,44 +207,62 @@ extern "C" { /* * Attribute identifier codes */ -#define SDP_SERVER_RECORD_HANDLE 0x0000 +#define SDP_SERVER_RECORD_HANDLE 0x0000 /* - * Possible values for attribute-id are listed below. + * Possible values for attribute-id are listed below. * See SDP Spec, section "Service Attribute Definitions" for more details. */ -#define SDP_ATTR_RECORD_HANDLE 0x0000 -#define SDP_ATTR_SVCLASS_ID_LIST 0x0001 -#define SDP_ATTR_RECORD_STATE 0x0002 -#define SDP_ATTR_SERVICE_ID 0x0003 -#define SDP_ATTR_PROTO_DESC_LIST 0x0004 -#define SDP_ATTR_BROWSE_GRP_LIST 0x0005 -#define SDP_ATTR_LANG_BASE_ATTR_ID_LIST 0x0006 -#define SDP_ATTR_SVCINFO_TTL 0x0007 -#define SDP_ATTR_SERVICE_AVAILABILITY 0x0008 -#define SDP_ATTR_PFILE_DESC_LIST 0x0009 -#define SDP_ATTR_DOC_URL 0x000A -#define SDP_ATTR_CLNT_EXEC_URL 0x000B -#define SDP_ATTR_ICON_URL 0x000C -#define SDP_ATTR_ADD_PROTO_DESC_LIST 0x000D - +#define SDP_ATTR_RECORD_HANDLE 0x0000 +#define SDP_ATTR_SVCLASS_ID_LIST 0x0001 +#define SDP_ATTR_RECORD_STATE 0x0002 +#define SDP_ATTR_SERVICE_ID 0x0003 +#define SDP_ATTR_PROTO_DESC_LIST 0x0004 +#define SDP_ATTR_BROWSE_GRP_LIST 0x0005 +#define SDP_ATTR_LANG_BASE_ATTR_ID_LIST 0x0006 +#define SDP_ATTR_SVCINFO_TTL 0x0007 +#define SDP_ATTR_SERVICE_AVAILABILITY 0x0008 +#define SDP_ATTR_PFILE_DESC_LIST 0x0009 +#define SDP_ATTR_DOC_URL 0x000a +#define SDP_ATTR_CLNT_EXEC_URL 0x000b +#define SDP_ATTR_ICON_URL 0x000c +#define SDP_ATTR_ADD_PROTO_DESC_LIST 0x000d + +#define SDP_ATTR_GROUP_ID 0x0200 #define SDP_ATTR_IP_SUBNET 0x0200 +#define SDP_ATTR_VERSION_NUM_LIST 0x0200 +#define SDP_ATTR_SVCDB_STATE 0x0201 + #define SDP_ATTR_SERVICE_VERSION 0x0300 -#define SDP_EXTERNAL_NETWORK 0x0301 +#define SDP_ATTR_EXTERNAL_NETWORK 0x0301 #define SDP_ATTR_SUPPORTED_DATA_STORES_LIST 0x0301 +#define SDP_ATTR_FAX_CLASS1_SUPPORT 0x0302 #define SDP_ATTR_REMOTE_AUDIO_VOLUME_CONTROL 0x0302 +#define SDP_ATTR_FAX_CLASS20_SUPPORT 0x0303 #define SDP_ATTR_SUPPORTED_FORMATS_LIST 0x0303 -#define SDP_ATTR_SECURITY_DESC 0x030A -#define SDP_ATTR_NET_ACCESS_TYPE 0x030B -#define SDP_ATTR_MAX_NET_ACCESSRATE 0x030C -#define SDP_ATTR_IP4_SUBNET 0x030D -#define SDP_ATTR_IP6_SUBNET 0x030E -#define SDP_SUPPORTED_FEATURES 0x0311 - +#define SDP_ATTR_FAX_CLASS2_SUPPORT 0x0304 +#define SDP_ATTR_AUDIO_FEEDBACK_SUPPORT 0x0305 +#define SDP_ATTR_NETWORK_ADDRESS 0x0306 +#define SDP_ATTR_WAP_GATEWAY 0x0307 +#define SDP_ATTR_HOMEPAGE_URL 0x0308 +#define SDP_ATTR_WAP_STACK_TYPE 0x0309 +#define SDP_ATTR_SECURITY_DESC 0x030a +#define SDP_ATTR_NET_ACCESS_TYPE 0x030b +#define SDP_ATTR_MAX_NET_ACCESSRATE 0x030c +#define SDP_ATTR_IP4_SUBNET 0x030d +#define SDP_ATTR_IP6_SUBNET 0x030e +#define SDP_ATTR_SUPPORTED_CAPABILITIES 0x0310 +#define SDP_ATTR_SUPPORTED_FEATURES 0x0311 +#define SDP_ATTR_SUPPORTED_FUNCTIONS 0x0312 +#define SDP_ATTR_TOTAL_IMAGING_DATA_CAPACITY 0x0313 /* * These identifiers are based on the SDP spec stating that * "base attribute id of the primary (universal) language must be 0x0100" + * + * Other languages should have their own offset; e.g.: + * #define XXXLangBase yyyy + * #define AttrServiceName_XXX 0x0000+XXXLangBase */ #define SDP_PRIMARY_LANG_BASE 0x0100 @@ -252,21 +270,6 @@ extern "C" { #define SDP_ATTR_SVCDESC_PRIMARY 0x0001 + SDP_PRIMARY_LANG_BASE #define SDP_ATTR_PROVNAME_PRIMARY 0x0002 + SDP_PRIMARY_LANG_BASE -/* - * Other languages should have their own offset; e.g.: - * #define XXXLangBase yyyy - * #define AttrServiceName_XXX 0x0000+XXXLangBase - * ... - */ - -/* - * These attributes are specific to the SDP server only; i.e., - * can be present only in the service record of the SDP server - */ -#define SDP_ATTR_VERSION_NUM_LIST 0x0200 -#define SDP_ATTR_SVCDB_STATE 0x0201 -#define SDP_ATTR_GROUP_ID 0x0200 - /* * The Data representation in SDP PDUs (pps 339, 340 of BT SDP Spec) * These are the exact data type+size descriptor values @@ -371,7 +374,7 @@ typedef struct { /* * Common definitions for attributes in the SDP. - * Should the type of any of these change, you need only make a change here. + * Should the type of any of these change, you need only make a change here. */ typedef struct { char data[16]; @@ -398,10 +401,10 @@ struct _sdp_list { * User-visible strings can be in many languages * in addition to the universal language. * - * Language meta-data includes language code in ISO639 - * followed by the encoding format. The third field in this - * structure is the attribute offset for the language. - * User-visible strings in the specified language can be + * Language meta-data includes language code in ISO639 + * followed by the encoding format. The third field in this + * structure is the attribute offset for the language. + * User-visible strings in the specified language can be * obtained at this offset. */ typedef struct { @@ -411,8 +414,8 @@ typedef struct { } sdp_lang_attr_t; /* - * Profile descriptor is the Bluetooth profile metadata. If a - * service conforms to a well-known profile, then its profile + * Profile descriptor is the Bluetooth profile metadata. If a + * service conforms to a well-known profile, then its profile * identifier (UUID) is an attribute of the service. In addition, * if the profile has a version number it is specified here. */ -- cgit From 01a43396075f47dffb2d6fffc9a2d3bb713a7f8d Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Tue, 7 Dec 2004 12:44:48 +0000 Subject: Add Device ID and HID attribute definitions --- include/sdp.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 4b966618..7cb11bd8 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -256,6 +256,29 @@ extern "C" { #define SDP_ATTR_SUPPORTED_FUNCTIONS 0x0312 #define SDP_ATTR_TOTAL_IMAGING_DATA_CAPACITY 0x0313 +#define SDP_ATTR_SPECIFICATION_ID 0x0200 +#define SDP_ATTR_VENDOR_ID 0x0201 +#define SDP_ATTR_PRODUCT_ID 0x0202 +#define SDP_ATTR_VERSION 0x0203 +#define SDP_ATTR_PRIMARY_RECORD 0x0204 +#define SDP_ATTR_VENDOR_ID_SOURCE 0x0205 + +#define SDP_ATTR_HID_DEVICE_RELEASE_NUMBER 0x0200 +#define SDP_ATTR_HID_PARSER_VERSION 0x0201 +#define SDP_ATTR_HID_DEVICE_SUBCLASS 0x0202 +#define SDP_ATTR_HID_COUNTRY_CODE 0x0203 +#define SDP_ATTR_HID_VIRTUAL_CABLE 0x0204 +#define SDP_ATTR_HID_RECONNECT_INITIATE 0x0205 +#define SDP_ATTR_HID_DESCRIPTOR_LIST 0x0206 +#define SDP_ATTR_HID_LANG_ID_BASE_LIST 0x0207 +#define SDP_ATTR_HID_SDP_DISABLE 0x0208 +#define SDP_ATTR_HID_BATTERY_POWER 0x0209 +#define SDP_ATTR_HID_REMOTE_WAKEUP 0x020a +#define SDP_ATTR_HID_PROFILE_VERSION 0x020b +#define SDP_ATTR_HID_SUPERVISION_TIMEOUT 0x020c +#define SDP_ATTR_HID_NORMALLY_CONNECTABLE 0x020d +#define SDP_ATTR_HID_BOOT_DEVICE 0x020e + /* * These identifiers are based on the SDP spec stating that * "base attribute id of the primary (universal) language must be 0x0100" -- cgit From f1d23ac858b0593afe27e6b8e00a55d92804a6bb Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sat, 29 Jan 2005 03:08:19 +0000 Subject: Update the copyright year --- include/sdp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 7cb11bd8..7f8ff538 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -4,7 +4,7 @@ * * Copyright (C) 2001-2002 Nokia Corporation * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2004 Marcel Holtmann + * Copyright (C) 2002-2005 Marcel Holtmann * Copyright (C) 2002-2003 Stephen Crane * * -- cgit From 0a2a889c91f9b671b7c31bcb6e4e53daf306fb7e Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sun, 8 May 2005 17:18:18 +0000 Subject: Add SDP_WAIT_ON_CLOSE flag for sdp_connect() --- include/sdp.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 7f8ff538..640cac27 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -376,6 +376,7 @@ extern "C" { * Values of the flags parameter to sdp_connect */ #define SDP_RETRY_IF_BUSY 0x01 +#define SDP_WAIT_ON_CLOSE 0x02 /* * SDP Error codes -- cgit From cfa3a02e2593bd72ce4a83f521e1e89a5874ea7d Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 6 Jul 2005 00:12:25 +0000 Subject: Fix more GCC 4.0 warnings --- include/sdp.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 640cac27..f08a7ddb 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -401,7 +401,7 @@ typedef struct { * Should the type of any of these change, you need only make a change here. */ typedef struct { - char data[16]; + uint8_t data[16]; } uint128_t; typedef struct { @@ -454,9 +454,9 @@ typedef struct { } sdp_version_t; typedef struct { - char *data; - int data_size; - int buf_size; + uint8_t *data; + uint32_t data_size; + uint32_t buf_size; } sdp_buf_t; typedef struct { -- cgit From fb1557c4111ca9993e4927af6f65bdbf9c2fa8ec Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 3 Aug 2005 07:41:21 +0000 Subject: Add device specific record register --- include/sdp.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index f08a7ddb..c2846242 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -371,6 +371,7 @@ extern "C" { * Values of the flags parameter to sdp_record_register */ #define SDP_RECORD_PERSIST 0x01 +#define SDP_DEVICE_RECORD 0x02 /* * Values of the flags parameter to sdp_connect -- cgit From 2fa38208982e7c7bb55ae97acd13dbf82dd24e88 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sat, 6 Aug 2005 17:43:48 +0000 Subject: Add UUID for video distribution --- include/sdp.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index c2846242..6aeffc19 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -139,6 +139,7 @@ extern "C" { #define UPNP_L2CAP_SVCLASS_ID 0x1302 #define VIDEO_SOURCE_SVCLASS_ID 0x1303 #define VIDEO_SINK_SVCLASS_ID 0x1304 +#define VIDEO_DISTRIBUTION_SVCLASS_ID 0x1305 /* * Standard profile descriptor identifiers; note these @@ -203,6 +204,7 @@ extern "C" { #define UPNP_L2CAP_PROFILE_ID UPNP_L2CAP_SVCLASS_ID #define VIDEO_SOURCE_PROFILE_ID VIDEO_SOURCE_SVCLASS_ID #define VIDEO_SINK_PROFILE_ID VIDEO_SINK_SVCLASS_ID +#define VIDEO_DISTRIBUTION_PROFILE_ID VIDEO_DISTRIBUTION_SVCLASS_ID /* * Attribute identifier codes -- cgit From 8ce8108e712e40e1b9530c96f7ff6cbb32b5cb8b Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sun, 7 Aug 2005 11:19:57 +0000 Subject: Add UUIDs for phonebook access profile --- include/sdp.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 6aeffc19..c21cb979 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -127,6 +127,8 @@ extern "C" { #define UDI_TA_SVCLASS_ID 0x112b #define AV_SVCLASS_ID 0x112c #define SAP_SVCLASS_ID 0x112d +#define PBAP_PCE_SVCLASS_ID 0x112e +#define PBAP_PSE_SVCLASS_ID 0x112f #define PNP_INFO_SVCLASS_ID 0x1200 #define GENERIC_NETWORKING_SVCLASS_ID 0x1201 #define GENERIC_FILETRANS_SVCLASS_ID 0x1202 @@ -192,6 +194,8 @@ extern "C" { #define UDI_TA_PROFILE_ID UDI_TA_SVCLASS_ID #define AV_PROFILE_ID AV_SVCLASS_ID #define SAP_PROFILE_ID SAP_SVCLASS_ID +#define PBAP_PCE_PROFILE_ID PBAP_PCE_PROFILE_ID +#define PBAP_PSE_PROFILE_ID PBAP_PSE_PROFILE_ID #define PNP_INFO_PROFILE_ID PNP_INFO_SVCLASS_ID #define GENERIC_NETWORKING_PROFILE_ID GENERIC_NETWORKING_SVCLASS_ID #define GENERIC_FILETRANS_PROFILE_ID GENERIC_FILETRANS_SVCLASS_ID -- cgit From b91cf84c987b8cc4bdfa9c0fb0daf88089c5687a Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Mon, 22 Aug 2005 10:44:04 +0000 Subject: Add attribute identifier for supported repositories --- include/sdp.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index c21cb979..c622e177 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -261,6 +261,7 @@ extern "C" { #define SDP_ATTR_SUPPORTED_FEATURES 0x0311 #define SDP_ATTR_SUPPORTED_FUNCTIONS 0x0312 #define SDP_ATTR_TOTAL_IMAGING_DATA_CAPACITY 0x0313 +#define SDP_ATTR_SUPPORTED_REPOSITORIES 0x0314 #define SDP_ATTR_SPECIFICATION_ID 0x0200 #define SDP_ATTR_VENDOR_ID 0x0201 -- cgit From c0d524486a50e8366c12c5ebea1a4441e9db46aa Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sat, 29 Oct 2005 19:25:42 +0000 Subject: Big cleanup of CVS relics --- include/sdp.h | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index c622e177..bd8e065c 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -9,24 +9,19 @@ * * * 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; + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * - * 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. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * - * ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, - * COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS - * SOFTWARE IS DISCLAIMED. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * - * - * $Id$ */ #ifndef __SDP_H -- cgit From 197a2aee34d9a1643cd474f8f167552ca6395d01 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Tue, 3 Jan 2006 12:56:09 +0000 Subject: Update copyright information --- include/sdp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index bd8e065c..c0e468d3 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -4,7 +4,7 @@ * * Copyright (C) 2001-2002 Nokia Corporation * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2005 Marcel Holtmann + * Copyright (C) 2002-2006 Marcel Holtmann * Copyright (C) 2002-2003 Stephen Crane * * -- cgit From 42e0ce5b430ac5e36c0d21bdddcaf1fe83e025f5 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 4 Jan 2006 00:04:30 +0000 Subject: Add definitions for Apple Agent --- include/sdp.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index c0e468d3..7ff74979 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -137,6 +137,7 @@ extern "C" { #define VIDEO_SOURCE_SVCLASS_ID 0x1303 #define VIDEO_SINK_SVCLASS_ID 0x1304 #define VIDEO_DISTRIBUTION_SVCLASS_ID 0x1305 +#define APPLE_AGENT_SVCLASS_ID 0x2112 /* * Standard profile descriptor identifiers; note these @@ -204,6 +205,7 @@ extern "C" { #define VIDEO_SOURCE_PROFILE_ID VIDEO_SOURCE_SVCLASS_ID #define VIDEO_SINK_PROFILE_ID VIDEO_SINK_SVCLASS_ID #define VIDEO_DISTRIBUTION_PROFILE_ID VIDEO_DISTRIBUTION_SVCLASS_ID +#define APPLE_AGENT_PROFILE_ID APPLE_AGENT_SVCLASS_ID /* * Attribute identifier codes -- cgit From 73f2fe893f6801358ea4fb88dc8d24050c7d0ca5 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Tue, 30 May 2006 10:58:30 +0000 Subject: Add another Phonebook Access identifier --- include/sdp.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 7ff74979..200a6b0e 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -124,6 +124,7 @@ extern "C" { #define SAP_SVCLASS_ID 0x112d #define PBAP_PCE_SVCLASS_ID 0x112e #define PBAP_PSE_SVCLASS_ID 0x112f +#define PBAP_SVCLASS_ID 0x1130 #define PNP_INFO_SVCLASS_ID 0x1200 #define GENERIC_NETWORKING_SVCLASS_ID 0x1201 #define GENERIC_FILETRANS_SVCLASS_ID 0x1202 @@ -190,8 +191,9 @@ extern "C" { #define UDI_TA_PROFILE_ID UDI_TA_SVCLASS_ID #define AV_PROFILE_ID AV_SVCLASS_ID #define SAP_PROFILE_ID SAP_SVCLASS_ID -#define PBAP_PCE_PROFILE_ID PBAP_PCE_PROFILE_ID -#define PBAP_PSE_PROFILE_ID PBAP_PSE_PROFILE_ID +#define PBAP_PCE_PROFILE_ID PBAP_PCE_SVCLASS_ID +#define PBAP_PSE_PROFILE_ID PBAP_PSE_SVCLASS_ID +#define PBAP_PROFILE_ID PBAP_SVCLASS_ID #define PNP_INFO_PROFILE_ID PNP_INFO_SVCLASS_ID #define GENERIC_NETWORKING_PROFILE_ID GENERIC_NETWORKING_SVCLASS_ID #define GENERIC_FILETRANS_PROFILE_ID GENERIC_FILETRANS_SVCLASS_ID -- cgit From 8f6ea7c3d24dc21f120b6d29fc975936b4d4f3b7 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Thu, 17 Aug 2006 21:59:25 +0000 Subject: Add additional private data field --- include/sdp.h | 23 ----------------------- 1 file changed, 23 deletions(-) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 200a6b0e..f6af1261 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -373,18 +373,6 @@ extern "C" { #define SDP_SVC_REMOVE_REQ 0x79 #define SDP_SVC_REMOVE_RSP 0x80 -/* - * Values of the flags parameter to sdp_record_register - */ -#define SDP_RECORD_PERSIST 0x01 -#define SDP_DEVICE_RECORD 0x02 - -/* - * Values of the flags parameter to sdp_connect - */ -#define SDP_RETRY_IF_BUSY 0x01 -#define SDP_WAIT_ON_CLOSE 0x02 - /* * SDP Error codes */ @@ -499,17 +487,6 @@ struct sdp_data_struct { int unitSize; }; -/* - * a session with an SDP server - */ -typedef struct { - int sock; - int state; - int local; - int flags; - uint16_t tid; // Current transaction ID -} sdp_session_t; - #ifdef __cplusplus } #endif -- cgit From 25effaf3a661c4de960ebae7125ba56a990ad628 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sat, 13 Jan 2007 17:50:06 +0000 Subject: Update copyright information --- include/sdp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index f6af1261..8a78ba30 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -4,7 +4,7 @@ * * Copyright (C) 2001-2002 Nokia Corporation * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2006 Marcel Holtmann + * Copyright (C) 2002-2007 Marcel Holtmann * Copyright (C) 2002-2003 Stephen Crane * * -- cgit From 4c6bbf0a08426efd008c1b9e439c693a826ee708 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 22 Aug 2007 00:31:24 +0000 Subject: Extract main service class for later use --- include/sdp.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 8a78ba30..05572c06 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -457,11 +457,12 @@ typedef struct { typedef struct { uint32_t handle; - /* - * Search pattern: a sequence of all UUIDs seen in this record - */ + /* Search pattern: a sequence of all UUIDs seen in this record */ sdp_list_t *pattern; sdp_list_t *attrlist; + + /* Main service class for Extended Inquiry Response */ + uuid_t svclass; } sdp_record_t; typedef struct sdp_data_struct sdp_data_t; -- cgit From 1622daf2f8fa0abeb0a11be14558ed30a17fc044 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Tue, 25 Dec 2007 20:35:41 +0000 Subject: Add definitions for MDP --- include/sdp.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 05572c06..61cc2637 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -138,6 +138,9 @@ extern "C" { #define VIDEO_SOURCE_SVCLASS_ID 0x1303 #define VIDEO_SINK_SVCLASS_ID 0x1304 #define VIDEO_DISTRIBUTION_SVCLASS_ID 0x1305 +#define MDP_SVCLASS_ID 0x1400 +#define MDP_SOURCE_SVCLASS_ID 0x1401 +#define MDP_SINK_SVCLASS_ID 0x1402 #define APPLE_AGENT_SVCLASS_ID 0x2112 /* @@ -207,6 +210,9 @@ extern "C" { #define VIDEO_SOURCE_PROFILE_ID VIDEO_SOURCE_SVCLASS_ID #define VIDEO_SINK_PROFILE_ID VIDEO_SINK_SVCLASS_ID #define VIDEO_DISTRIBUTION_PROFILE_ID VIDEO_DISTRIBUTION_SVCLASS_ID +#define MDP_PROFILE_ID MDP_SVCLASS_ID +#define MDP_SOURCE_PROFILE_ID MDP_SROUCE_SVCLASS_ID +#define MDP_SINK_PROFILE_ID MDP_SINK_SVCLASS_ID #define APPLE_AGENT_PROFILE_ID APPLE_AGENT_SVCLASS_ID /* -- cgit From 7208028266fc19d380ac77c97c46b6f2fdc80e1d Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sat, 2 Feb 2008 03:11:09 +0000 Subject: Update copyright information --- include/sdp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 61cc2637..293e6ec8 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -4,7 +4,7 @@ * * Copyright (C) 2001-2002 Nokia Corporation * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2007 Marcel Holtmann + * Copyright (C) 2002-2008 Marcel Holtmann * Copyright (C) 2002-2003 Stephen Crane * * -- cgit From f767416e71484be2463caa6482dc978e165cabae Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 5 Mar 2008 19:30:32 +0000 Subject: Add support for MCAP UUIDs --- include/sdp.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include/sdp.h') diff --git a/include/sdp.h b/include/sdp.h index 293e6ec8..dd5b0e24 100644 --- a/include/sdp.h +++ b/include/sdp.h @@ -69,6 +69,8 @@ extern "C" { #define AVDTP_UUID 0x0019 #define CMTP_UUID 0x001b #define UDI_UUID 0x001d +#define MCAP_CTRL_UUID 0x001e +#define MCAP_DATA_UUID 0x001f #define L2CAP_UUID 0x0100 /* -- cgit