]> rtime.felk.cvut.cz Git - tiny-bt.git/blobdiff - src/hil2cap.c
hcidriver.c:new non block cmd call.
[tiny-bt.git] / src / hil2cap.c
index f06184ccfed90c41ad69bf1700e7dc52cb7a6850..0897bcc99b1042e70701ddf06fb29ff1aae57415 100644 (file)
@@ -99,7 +99,7 @@ int show_all_remote_dev(struct hci_dev_info *p_master, bt_address *p_remadrar, i
 int l2cap_call_cmd(__u16 ocf_ogf,int dd, void *p_param){
        cmd_state_request new_req,*p_new_req=&new_req;
        __u16 sw_opcode;
-       int remd_count;
+       int remd_count,ret_val;
        sw_opcode=swap_2_bytes(ocf_ogf);
        p_new_req->actual_status=ESTABLISHED;
        p_new_req->id=cmd_req_id++;
@@ -162,10 +162,11 @@ int l2cap_call_cmd(__u16 ocf_ogf,int dd, void *p_param){
                        printf("Mistake with req array adding \n ");
                        return -1;
                }
-               if((((connection_hci *)p_param)->handle=call_hci_create_connection_cmd(dd, &(((connection_hci *)p_param)->slave.bdaddr), &sw_opcode)) < 0){
+               if((ret_val=call_hci_create_connection_cmd(dd, &(((connection_hci *)p_param)->slave.bdaddr), &sw_opcode)) < 0){
                        printf("Mistake with inquiry cmd \n ");
                        return -1;
                }
+               ((connection_hci *)p_param)->handle=ret_val;
                ((connection_hci *)p_param)->con_state=CONNECTED;
                req_fcn_remove();
                return 0;
@@ -214,8 +215,8 @@ return (void*)0;
 int main(void){
        struct hci_dev_info master,*p_master=&master;
        bt_address remote_bd_addr_array[HCI_MAX_DEV];
-       memset(remote_bd_addr_array,0,(sizeof(bt_address)*HCI_MAX_DEV));
        connection_hci connection,*p_connection=&connection;
+       memset(remote_bd_addr_array,0,(sizeof(bt_address)*HCI_MAX_DEV));
        bt_address prefered;
        int remd_count,i;
        cmd_req_id=0;
@@ -234,9 +235,9 @@ int main(void){
                printba(&remote_bd_addr_array[i]);
        }
        p_connection->master=master;
-       //p_connection->slave.bdaddr=remote_bd_addr_array[0];
-       fill_add(&prefered,0x31,0x16,0xCA,0x72,0x02,0x00);
-       p_connection->slave.bdaddr=prefered;
+       p_connection->slave.bdaddr=remote_bd_addr_array[0];
+       //fill_add(&prefered,0x31,0x16,0xCA,0x72,0x02,0x00);
+       //p_connection->slave.bdaddr=prefered;
        if(create_master_connection(p_connection)<0){
                printf("connection error");
                return -1;