Linux bluetooth development
 help / color / mirror / Atom feed
From: Wolfgang Heidrich <wolfgang.heidrich@esk.fhg.de>
To: BlueZ Mailing List <bluez-devel@lists.sourceforge.net>
Subject: [Bluez-devel] Support for Clock offset event
Date: Tue, 11 Mar 2003 18:53:55 +0100	[thread overview]
Message-ID: <3E6E22B3.8E6E87FA@esk.fhg.de> (raw)
In-Reply-To: 5.1.0.14.2.20030307165419.01bb5668@mail1.qualcomm.com

[-- Attachment #1: Type: text/plain, Size: 735 bytes --]

Hello,

I added support for the clock offset event to bluez-kernel. The
attached patch is very simple and applies cleanly to bluez-kernel-2.3.
If you like, you can commit it. Then bluez gets one more step more
complete.
The clock information in the corresponding
entry of the inquiry cache is updated in case of a clock offset event.

Clock offset is important for very fast connection establishment.

Regards

-- 
Fraunhofer Einrichtung für Systeme der Kommunikationstechnik (ESK)

Wolfgang Heidrich        	  	Hansastraße 32
Dipl.-Ing.                      	80686 München / Germany
                                  	Phone :  +49(0)89-547088-376
E-Mail: wolfgang.heidrich@esk.fhg.de   	Fax   :  +49(0)89-547088-221

[-- Attachment #2: patch_clk_offset --]
[-- Type: text/plain, Size: 1840 bytes --]

diff -Naur bluez-kernel-2.3/core/hci_event.c bluez-kernel-2.3-new/core/hci_event.c
--- bluez-kernel-2.3/core/hci_event.c	Fri Nov  1 18:48:51 2002
+++ bluez-kernel-2.3-new/core/hci_event.c	Tue Mar 11 18:28:31 2003
@@ -711,6 +711,28 @@
 	hci_dev_unlock(hdev);
 }
 
+/* New clock offset */
+static inline void hci_clock_offset_evt(struct hci_dev *hdev, struct sk_buff *skb)
+{
+	evt_clock_offset *eco=(evt_clock_offset *) skb->data;
+	struct hci_conn *conn = NULL;
+	__u16 handle = __le16_to_cpu(eco->handle);
+        struct inquiry_entry *e;
+
+	BT_DBG("%s status %d", hdev->name, eco->status);
+
+	hci_dev_lock(hdev);
+
+	conn = conn_hash_lookup_handle(hdev, handle);
+	if (conn && (!eco->status) && ( e = inquiry_cache_lookup(hdev, &conn->dst) ) ) {
+	/* update only existing entries, because we only get the clock offset without further information */
+		e->info.clock_offset=eco->offset;
+		e->timestamp = jiffies;
+	}
+
+	hci_dev_unlock(hdev);
+}
+
 void hci_event_packet(struct hci_dev *hdev, struct sk_buff *skb)
 {
 	hci_event_hdr *he = (hci_event_hdr *) skb->data;
@@ -757,6 +779,10 @@
 
 	case EVT_ENCRYPT_CHANGE:
 		hci_encrypt_change_evt(hdev, skb);
+		break;
+
+	case EVT_CLOCK_OFFSET:
+		hci_clock_offset_evt(hdev, skb);
 		break;
 
 	case EVT_CMD_STATUS:
diff -Naur bluez-kernel-2.3/include/hci.h bluez-kernel-2.3-new/include/hci.h
--- bluez-kernel-2.3/include/hci.h	Fri Nov  1 18:48:51 2002
+++ bluez-kernel-2.3-new/include/hci.h	Tue Mar 11 18:30:15 2003
@@ -567,6 +567,14 @@
 } __attribute__ ((packed)) evt_link_key_notify;
 #define EVT_LINK_KEY_NOTIFY_SIZE 23
 
+#define EVT_CLOCK_OFFSET	0x1C
+typedef struct {
+	__u8	status;
+	__u16	handle;
+	__u16	offset;
+} __attribute__ ((packed)) evt_clock_offset;
+#define EVT_CLOCK_OFFSET_SIZE 5
+
 #define EVT_READ_REMOTE_FEATURES_COMPLETE 0x0B
 typedef struct {
 	__u8    status;

       reply	other threads:[~2003-03-11 17:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <5.1.0.14.2.20030306125429.02687aa0@mail1.qualcomm.com>
     [not found] ` <5.1.0.14.2.20030307165419.01bb5668@mail1.qualcomm.com>
2003-03-11 17:53   ` Wolfgang Heidrich [this message]
2003-03-12  0:15     ` [Bluez-devel] Support for Clock offset event Marcel Holtmann
2003-03-12  9:18       ` Wolfgang Heidrich
2003-03-22  8:14         ` Marcel Holtmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3E6E22B3.8E6E87FA@esk.fhg.de \
    --to=wolfgang.heidrich@esk.fhg.de \
    --cc=bluez-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox