From 7434b760483ec2fff43a8548806b07443ee7bb53 Mon Sep 17 00:00:00 2001 From: Oliver Ruiz Dorantes Date: Wed, 16 Jul 2008 19:25:44 +0000 Subject: [PATCH] Add to the command manager the connection accept and reject commands git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26451 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/bluetooth/CommandManager.h | 2 ++ src/kits/bluetooth/CommandManager.cpp | 33 ++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/headers/private/bluetooth/CommandManager.h b/headers/private/bluetooth/CommandManager.h index 7903a90584..d9b63b877f 100644 --- a/headers/private/bluetooth/CommandManager.h +++ b/headers/private/bluetooth/CommandManager.h @@ -22,6 +22,8 @@ void* buildInquiry(uint32 lap, uint8 length, uint8 num_rsp, size_t* outsize); void* buildInquiryCancel(size_t* outsize); void* buildPinCodeRequestReply(bdaddr_t bdaddr, uint8 length, char pincode[16], size_t* outsize); void* buildPinCodeRequestNegativeReply(bdaddr_t bdaddr, size_t* outsize); +void* buildAcceptConnectionRequest(bdaddr_t bdaddr, uint8 role, size_t* outsize); +void* buildRejectConnectionRequest(bdaddr_t bdaddr, size_t* outsize); /* OGF_INFORMATIONAL_PARAM */ void* buildReadBufferSize(size_t* outsize); diff --git a/src/kits/bluetooth/CommandManager.cpp b/src/kits/bluetooth/CommandManager.cpp index 006b4d9e5a..81c5810a29 100644 --- a/src/kits/bluetooth/CommandManager.cpp +++ b/src/kits/bluetooth/CommandManager.cpp @@ -99,6 +99,7 @@ void* buildAuthEnable(uint8 auth, size_t* outsize) #pragma mark - LINK CONTROL - #endif + void* buildCreateConnection(bdaddr_t bdaddr) { /* @@ -157,6 +158,7 @@ void* buildInquiry(uint32 lap, uint8 length, uint8 num_rsp, size_t* outsize) return command; } + void* buildInquiryCancel(size_t* outsize) { @@ -205,6 +207,37 @@ void* buildPinCodeRequestNegativeReply(bdaddr_t bdaddr, size_t* outsize) } +void* buildAcceptConnectionRequest(bdaddr_t bdaddr, uint8 role, size_t* outsize) +{ + struct hci_cp_accept_conn_req* param; + + void* command = buildCommand(OGF_LINK_CONTROL, OCF_ACCEPT_CONN_REQ, + (void**) ¶m, sizeof(struct hci_cp_accept_conn_req), outsize); + + if (command != NULL) { + param->bdaddr = bdaddr; + param->role = role; + } + + return command; +} + + +void* buildRejectConnectionRequest(bdaddr_t bdaddr, size_t* outsize) +{ + struct hci_cp_reject_conn_req* param; + + void *command = buildCommand(OGF_LINK_CONTROL, OCF_REJECT_CONN_REQ, + (void**) ¶m, sizeof(struct hci_cp_reject_conn_req), outsize); + + if (command != NULL) { + param->bdaddr = bdaddr; + } + + return command; +} + + #if 0 #pragma mark - INFORMATIONAL_PARAM - #endif