You can subscribe to this list here.
2001 |
Jan
|
Feb
(44) |
Mar
(202) |
Apr
(134) |
May
(89) |
Jun
(94) |
Jul
(58) |
Aug
(58) |
Sep
(56) |
Oct
(75) |
Nov
(26) |
Dec
(14) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(24) |
Feb
(30) |
Mar
(15) |
Apr
(49) |
May
(12) |
Jun
(6) |
Jul
(11) |
Aug
(20) |
Sep
(19) |
Oct
(3) |
Nov
(13) |
Dec
(1) |
2003 |
Jan
(7) |
Feb
(4) |
Mar
(7) |
Apr
(5) |
May
(6) |
Jun
(3) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(51) |
Dec
(1) |
2004 |
Jan
(11) |
Feb
(5) |
Mar
|
Apr
(5) |
May
(2) |
Jun
|
Jul
(21) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Peter K. <pk...@us...> - 2003-01-14 15:19:16
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- test.c 1.37 1.38=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Made it compile with CONFIG_BLUETOOTH_UNPLUG_TEST enabled. The diff of the modified file(s): --- test.c 1 Aug 2002 16:19:29 -0000 1.37 +++ test.c 14 Jan 2003 15:19:03 -0000 1.38 @@ -490,6 +490,7 @@ =20 char_buf[3] =3D 0; if(!strncmp(cmd, "bb_conn ", 8)) { + u8 class_of_dev[3] =3D { 0, 0, 0 }; char *p =3D cmd + 8; =20 for (i =3D 5; i >=3D 0; i--) { @@ -502,7 +503,7 @@ bd[5], bd[4], bd[3], bd[2], bd[1], bd[0]); =20 - l2cap_create_con(bd); + l2cap_create_con(bd, class_of_dev); return lp_connect_req(bd); } else if(strncmp(cmd, "t ", 2) =3D=3D 0) { |
From: Anders J. <and...@us...> - 2003-01-13 19:49:22
|
The following files were modified in linux/include/linux/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- btcommon.h 1.98 1.99=20=20=20=20=20=20=20=20=20=20=20=20=20=20 l2cap.h 1.44 1.45=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: * Added support to get class of device. The diff of the modified file(s): --- btcommon.h 19 Nov 2002 14:11:42 -0000 1.98 +++ btcommon.h 13 Jan 2003 19:48:37 -0000 1.99 @@ -150,6 +150,7 @@ #define BT_GETCACHEDLINKKEY _IOWR(BT_IOC_MAGIC, 0x10, u8[22]) #define BTDISCONNECT_BB _IOW(BT_IOC_MAGIC, 0x11, u8[6]) #define BTREADREMOTENAME _IOWR(BT_IOC_MAGIC, 0x12, u8[BT_NAME_LENGTH]) +#define BTREADREMOTECLASSOFDEV _IOWR(BT_IOC_MAGIC, 0x13, u8[6]) =20 /* Ioctls executing HCI commands */ =20 @@ -342,6 +343,8 @@ =20 typedef u16 CID; =20 +typedef u8 CLASS_OF_DEVICE[3]; + typedef struct flow { u8 flags; /* default 0 */ u8 service; /* default 0x01 (best effort) */ @@ -368,6 +371,7 @@ typedef struct l2cap_con { s32 magic; BD_ADDR remote_bd; /* 6 bytes */ + CLASS_OF_DEVICE remote_class_of_dev; u16 hci_hdl; =20 /* FIXME - add multiple HCI handles for group=20 --- l2cap.h 25 Feb 2002 14:09:05 -0000 1.44 +++ l2cap.h 13 Jan 2003 19:48:39 -0000 1.45 @@ -311,10 +311,10 @@ s32 lp_connect_cfm(u8 *bd_addr, u32 status, u16 con_hdl); =20 /* Indicates the lower protocol has successfully established connection */ -void lp_connect_ind(BD_ADDR bd_addr); +void lp_connect_ind(BD_ADDR bd_addr, CLASS_OF_DEVICE remote_class); =20 /* called from hci when baseband is up (server) */ -void l2cap_create_con(BD_ADDR bd); +void l2cap_create_con(BD_ADDR bd, CLASS_OF_DEVICE remote_class); =20 /* Indicates the baseband has been shutdown */ s32 lp_disconnect_ind(u32 con_hdl); |
From: Anders J. <and...@us...> - 2003-01-13 19:49:10
|
The following files were modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bluetooth.c 1.235 1.236=20=20=20=20=20=20=20=20=20=20=20=20=20 hci.c 1.206 1.207=20=20=20=20=20=20=20=20=20=20=20=20=20 l2cap.c 1.134 1.135=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: * Added support to get class of device. The diff of the modified file(s): --- bluetooth.c 19 Nov 2002 14:13:10 -0000 1.235 +++ bluetooth.c 13 Jan 2003 19:48:26 -0000 1.236 @@ -709,6 +709,21 @@ return err; } =20 + case BTREADREMOTECLASSOFDEV: + { + BD_ADDR rev_bd; + l2cap_con *con; + BT_DRIVER(__FUNCTION__ ": BTREADREMOTECLASSOFDEV\n"); + copy_from_user(&rev_bd, (s32*)arg, 6); + if((con =3D get_con(rev_bd, ANY_STATE))) { + copy_to_user((s32*)arg, con->remote_class_of_dev, 3); + } else { + return -1; + } + return 0; + } +=09 + case BTREADREMOTENAME: { u8 remote_name[BT_NAME_LENGTH]; --- hci.c 19 Nov 2002 14:13:10 -0000 1.206 +++ hci.c 13 Jan 2003 19:48:30 -0000 1.207 @@ -940,7 +940,7 @@ D_CMD(__FUNCTION__ ": CONNECTION_REQUEST\n"); =20 if (buf[9] =3D=3D ACL_LINK) { - lp_connect_ind(buf); /* BD_ADDRESS */ + lp_connect_ind(buf, buf + 6); /* BD_ADDRESS, Class of device */ } else { printk(__FUNCTION__ ": CONNECTION_REQUEST for SCO LINK"); accept_connection_request(buf, 0x01); /* role ignored for SCO */ @@ -3496,11 +3496,13 @@ s32 lp_connect_req(u8 bd_addr[]) { + u8 class_of_dev[3] =3D { 0, 0, 0 }; PRINTPKT(__FUNCTION__ ": bd address is: ", bd_addr, 6); - /* FIXME, store the inparameters in the ctrl-block instead */ + /* FIXME, store the inparameters in the ctrl-block instead and make + class of device dynamic */ =20 if (!get_con(bd_addr, ANY_STATE)) - l2cap_create_con(bd_addr); + l2cap_create_con(bd_addr, class_of_dev); =20 i_am_initiator =3D 1; =20 --- l2cap.c 27 Sep 2002 12:54:11 -0000 1.134 +++ l2cap.c 13 Jan 2003 19:48:32 -0000 1.135 @@ -1283,7 +1283,7 @@ =20 /* Indicates the lower protocol has successfully established connection */ void=20 -lp_connect_ind(BD_ADDR bd_addr) +lp_connect_ind(BD_ADDR bd_addr, CLASS_OF_DEVICE remote_class) { PRINTPKT(__FUNCTION__ ": from: ", bd_addr, 6); =20 @@ -1304,7 +1304,7 @@ =20 if (hci_ctrl.nbr_of_connections < bt_max_connections) { D_CON(__FUNCTION__ ": Accepting connection\n"); - l2cap_create_con(bd_addr); + l2cap_create_con(bd_addr, remote_class); lp_connect_rsp(bd_addr, 1); } else { D_CON(__FUNCTION__ ": Denying connection. Current connections: %d, max c= onnections: %d\n", hci_ctrl.nbr_of_connections, bt_max_connections); @@ -1314,7 +1314,7 @@ =20=09 /* is called when we accept a _new_ baseband connection */ void=20 -l2cap_create_con(BD_ADDR bd) +l2cap_create_con(BD_ADDR bd, CLASS_OF_DEVICE remote_class) { l2cap_con *con; D_RCV(__FUNCTION__ "\n");=09 @@ -1335,6 +1335,7 @@ =20=20=20=20=20=20=20=20=20 con->link_up =3D TRUE; memcpy(con->remote_bd, bd, 6); + memcpy(con->remote_class_of_dev, remote_class, 3); =20 /* have not received l2cap connection req yet */ ENTERSTATE(con, CLOSED);=20 |
From: Anders J. <and...@us...> - 2003-01-13 19:49:08
|
The following files were modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bt_if.c 1.55 1.56=20=20=20=20=20=20=20=20=20=20=20=20=20=20 bt_if.h 1.38 1.39=20=20=20=20=20=20=20=20=20=20=20=20=20=20 btd.c 1.41 1.42=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: * Added support to get class of device. The diff of the modified file(s): --- bt_if.c 19 Nov 2002 14:15:46 -0000 1.55 +++ bt_if.c 13 Jan 2003 19:48:07 -0000 1.56 @@ -1141,6 +1141,47 @@ #endif } =20 +void=20 +read_remote_class(int bt_cfd, unsigned char *bd_addr, unsigned char *remot= e_class) +{ + int err =3D 0; + int i; + + unsigned char result[6]; +=20=20 + for (i =3D 0; i < 6; i++) + { + result[i] =3D bd_addr[5-i]; + } +#ifndef BT_USERSTACK + + if (ioctl(bt_cfd, BTREADREMOTECLASSOFDEV, result) < 0) + { + perror(__FUNCTION__); + err =3D -1; + } +#else + if((con =3D get_con(result, ANY_STATE)))=20 + { + memcpy(result, con->remote_class_of_dev, 3); + }=20 + else=20 + { + err =3D -1; + } +#endif + if(err < 0) + { + memset(remote_class, 0, 3); + }=20 + else=20 + { + remote_class[2] =3D result[0]; + remote_class[1] =3D result[1]; + remote_class[0] =3D result[2]; + }=20=20=20=20=20=20=20 +} + void enable_dut(int bt_cfd) { --- bt_if.h 19 Nov 2002 14:21:18 -0000 1.38 +++ bt_if.h 13 Jan 2003 19:48:14 -0000 1.39 @@ -140,6 +140,7 @@ #define BTDISCONNECT_BB _IOW(BT_IOC_MAGIC, 0x11, unsigned char[6]) =20 #define BTREADREMOTENAME _IOWR(BT_IOC_MAGIC, 0x12, unsigned char[BT_NAME_L= ENGTH]) +#define BTREADREMOTECLASSOFDEV _IOWR(BT_IOC_MAGIC, 0x13, unsigned char[6]) =20 /* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D */ /* Ioctls for executing HCI commands */ @@ -358,6 +359,7 @@ void bt_set_bd_addr(int bt_cfd, unsigned char *bd); void read_local_bd(int bt_cfd, unsigned char *bd_addr); void read_remote_bd(int bt_cfd, int line, unsigned char *bd_addr); +void read_remote_class(int bt_cfd, unsigned char *bd_addr, unsigned char *= remote_class); int read_remote_name(int bt_cfd, int line, unsigned char *name, unsigned i= nt length); void role_switch(int bt_cfd, unsigned char *bd_addr, int role); =20 --- btd.c 22 Nov 2002 16:59:03 -0000 1.41 +++ btd.c 13 Jan 2003 19:48:16 -0000 1.42 @@ -499,6 +499,7 @@ static char remote_bd_addr[18]; static char remote_bd_str[36]; static char local_bd_str[32]; + static char remote_class_of_dev[27]; static char remote_name[20 + BT_NAME_LENGTH]; struct ip_set *ipset =3D PEER(line).ipset; int i =3D 0; @@ -533,6 +534,7 @@ if (ipset->useradius) { unsigned char local_bd[6]; + unsigned char class_of_device[3]; =20 opts[i++] =3D "plugin"; opts[i++] =3D "radius.so"; @@ -578,6 +580,15 @@ =20 opts[i++] =3D "avpair"; opts[i++] =3D remote_bd_str; + + read_remote_class(bt_cfd, PEER(line).remote_bd, class_of_device); + sprintf(remote_class_of_dev, "Axis-BT-Client-Type=3D%02x%02x%02x", + class_of_device[0],=20 + class_of_device[1],=20 + class_of_device[2]); + + opts[i++] =3D "avpair"; + opts[i++] =3D remote_class_of_dev; =20 if (*PEER(line).remote_name) { |
From: Willy S. <sag...@us...> - 2003-01-09 09:56:20
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bnep.c 1.15 1.16=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Updated filter handling The diff of the modified file(s): --- bnep.c 8 Apr 2002 09:39:46 -0000 1.15 +++ bnep.c 9 Jan 2003 09:56:19 -0000 1.16 @@ -480,11 +480,11 @@ =20 /* Step through filter range by filter range */ for (i =3D 0; (i < BNEP_MAX_MCAST_FILTER_RANGES) && (!send_packet); i++)= { - D_MISC(__FUNCTION__": Trying multicast filter range %d\n", i); + D_XMIT(__FUNCTION__": Trying multicast filter range %d\n", i); =20 if (check_filter(local->filter_multi_addr_list[i*2].addr, eth->h_dest, = 6) <=3D 0 && check_filter(local->filter_multi_addr_list[i*2+1].addr, eth->h_dest= , 6) >=3D 0) { - D_MISC(__FUNCTION__": Multicast filter range %d OK\n",i); + D_XMIT(__FUNCTION__": Multicast filter range %d OK\n",i); send_packet =3D 1; } } @@ -834,7 +834,7 @@ eheader =3D (struct bnep_eheader *)&data[pos]; type =3D eheader->bnep_type & 0x7f; eheaders =3D ((eheader->bnep_type & 0x80) >> 7); - D_REC("Parse extension header type=3D%02x eheader=3D%i pos=3D%08x\n",=20 + printk("Parse extension header type=3D%02x eheader=3D%i pos=3D%08x\n",= =20 type, eheaders, pos); =20 switch(type) { @@ -853,7 +853,7 @@ =20 pos +=3D eheader->length + 2; if (pos > len) { - D_ERR(__FUNCTION__": Error: pos > len\n"); + D_ERR(__FUNCTION__": Error: pos %i > len %i\n",pos,eheader->length); break; } } @@ -960,10 +960,30 @@ local->state =3D CONNECTED; } else { /* Not supported UUID or invalid */ + if (destination_uuid =3D=3D UUID_PANU) + { + D_ERR("Destination uuid expected to be %04= x or %04x\n",UUID_NAP, UUID_GN); + local->state =3D DISCONNECTED; + setup_rsp.bnep_response_msg =3D cpu_to_be16(CONNECTION_NOT_ALLOWED); + } + else + { D_ERR("Destination uuid expected to be %04x or %04x\n",UUID_NAP, UUID_= GN); local->state =3D DISCONNECTED; setup_rsp.bnep_response_msg =3D cpu_to_be16(INVALID_DST_UUID); } + } + if ((source_uuid =3D=3D UUID_PANU) || (source_uuid= =3D=3D UUID_GN )) + { + D_MISC("Source uuid is ok\n"); + } + else + { + D_ERR(__FUNCTION__ ": Invalid source UUID\n"); + local->state =3D DISCONNECTED; + setup_rsp.bnep_response_msg =3D cpu_to_be16(INVALID_SRC_UUID); + } + } else {=20 D_ERR(__FUNCTION__ ": Invalid UUID Size."); local->state =3D DISCONNECTED; @@ -1031,7 +1051,8 @@ rsp.bnep_control_type =3D BNEP_FILTER_NET_TYPE_RESPONSE_MSG; rsp.bnep_response_msg =3D cpu_to_be16(SUCCESS); =20=09=09 - if (n =3D=3D 0) { +=09=20=20=20=20=20=20=20 + { /* Reset filter */ D_MISC("Reset filter\n"); for (i=3D0;i<BNEP_MAX_PROTOCOL_FILTER_RANGES;i++) { @@ -1043,7 +1064,10 @@ local->filter_list[0] =3D 0x0000; local->filter_list[1] =3D 0xffff; used_filters=3D0; - } else if (used_filters+n > BNEP_MAX_PROTOCOL_FILTER_RANGES) { + }=20 + if (n =3D=3D 0) { + }=20 + else if (n > BNEP_MAX_PROTOCOL_FILTER_RANGES) { D_ERR(__FUNCTION__": all protocol filters occupied. Can't set more!\n"); rsp.bnep_response_msg =3D cpu_to_be16(MAX_FILTER); used_filters =3D BNEP_MAX_PROTOCOL_FILTER_RANGES; @@ -1061,8 +1085,8 @@ if (rsp.bnep_response_msg =3D=3D cpu_to_be16(SUCCESS)) {=09=09=09 D_MISC("Setting filter ranges:"); for (i=3D0; i<n*2; i++) { - local->filter_list[i+used_filters*2] =3D be16_to_cpu(filter[i]); - printk("filter %04x, i %d ",local->filter_list[i+used_filters*2],i); + local->filter_list[i] =3D be16_to_cpu(filter[i]); + printk("filter %04x, i %d ",local->filter_list[i],i); } used_filters+=3Dn; D_MISC("%d of %d filters in use\n",=20 @@ -1129,7 +1153,6 @@ D_MISC(__FUNCTION__" BNEP_FILTER_MULTI_ADDR_SET_MSG, lenth =3D %i, n =3D= %i \n",length,n); =20=09=09 /* If no filters are set, reset filter list */ - if (n =3D=3D 0) { D_MISC(__FUNCTION__" Reset all multicast filters and accept all address= es\n"); for (i=3D0;i<BNEP_MAX_MCAST_FILTER_RANGES;i++) { memset(&local->filter_multi_addr_list[i*2].addr[0],0,6); @@ -1138,7 +1161,10 @@ /* Accept all multicast addresses */ memset(&local->filter_multi_addr_list[1].addr[0],0xff,6); used_filters=3D0; - } else if (used_filters+n > BNEP_MAX_MCAST_FILTER_RANGES) { + + if (n =3D=3D 0) { +=09=09=09 + } else if (n > BNEP_MAX_MCAST_FILTER_RANGES) { D_ERR(__FUNCTION__": all mcast filters occupied. Can't set more!\n"); rsp.bnep_response_msg =3D cpu_to_be16(MAX_FILTER); n =3D BNEP_MAX_MCAST_FILTER_RANGES; @@ -1148,16 +1174,16 @@ print_data("Adding multicast filter: ", data+2+i*12, 12); =20 /* Start address. */ - memcpy(local->filter_multi_addr_list[(used_filters+i)*2].addr, + memcpy(local->filter_multi_addr_list[i*2].addr, data+2+i*12, 6); =20 /* End address. */ - memcpy(local->filter_multi_addr_list[(used= _filters+i)*2+1].addr, + memcpy(local->filter_multi_addr_list[i*2+1= ].addr, data+2+i*12+6, 6); } - used_filters +=3D n; + used_filters =3D n; } =20=09=09 /* subscribe to a bt_tx_buf */ |
From: Willy S. <sag...@us...> - 2003-01-09 09:55:09
|
The following file was modified in linux/include/linux/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bnep.h 1.6 1.7=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Increased number of filters The diff of the modified file(s): --- bnep.h 8 Apr 2002 10:03:36 -0000 1.6 +++ bnep.h 9 Jan 2003 09:55:06 -0000 1.7 @@ -121,8 +121,8 @@ =20 /* Max number of filter ranges for Network Protocol Types */ =20 -#define BNEP_MAX_PROTOCOL_FILTER_RANGES 5 -#define BNEP_MAX_MCAST_FILTER_RANGES 5 +#define BNEP_MAX_PROTOCOL_FILTER_RANGES 15 +#define BNEP_MAX_MCAST_FILTER_RANGES 15 =20 /****************** TYPE DEFINITION SECTION ******************************= ***/ #define ETH_ALEN 6 |
From: Alain P. <apa...@us...> - 2002-12-09 11:14:42
|
The following file was modified in apps/bluetooth/sdp_server: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- sdp_smartdata.xml 1.2 1.3=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20 The accompanying log: add SupportedFormatsList to the OBEXObjectPush record The diff of the modified file(s): --- sdp_smartdata.xml 14 Nov 2002 15:13:54 -0000 1.2 +++ sdp_smartdata.xml 9 Dec 2002 11:14:40 -0000 1.3 @@ -66,11 +66,15 @@ <PublicBrowseGroup> </PublicBrowseGroup> </BrowseGroupList> - <LanguageBaseAttributeIDList type =3D "DES" - Parameter0 =3D "0x09656E" - Parameter1 =3D "0x09006A" - Parameter2 =3D "0x090100"> - </LanguageBaseAttributeIDList> + <SupportedFormatsList type =3D "DES" + Parameter0 =3D "0x0801" + Parameter1 =3D "0x0802" + Parameter2 =3D "0x0803" + Parameter3 =3D "0x0804" + Parameter4 =3D "0x0805" + Parameter5 =3D "0x0806" + Parameter6 =3D "0x08FF"> + </SupportedFormatsList> <BluetoothProfileDescriptorList NbrOfEntities =3D "1"> <OBEXObjectPush type =3D "DES" Parameter0 =3D "0x090100"> </OBEXObjectPush> @@ -107,6 +111,7 @@ ServiceAvailability =3D "0x0008" BluetoothProfileDescriptorList =3D "0x0009" ServiceName =3D "0x0100" + SupportedFormatsList =3D "0x0303" GroupID =3D "0x0200"> </AttributeIdentifierCodes> </SDPBrowsingRegister> |
From: Peter K. <pk...@us...> - 2002-11-22 16:59:04
|
The following file was modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- btd.c 1.40 1.41=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Use the radaxis.so plugin for RADIUS support in combination with ipa. The diff of the modified file(s): --- btd.c 20 Nov 2002 16:59:21 -0000 1.40 +++ btd.c 22 Nov 2002 16:59:03 -0000 1.41 @@ -160,7 +160,7 @@ static struct ipa_msg *msg; static unsigned char ipa_buf[256]; static int parse_ipa_response(struct ipa_msg *msg); -static int ipa_sendrequest(int line, unsigned char *bd, +static int ipa_send_request(int line, unsigned char *bd, unsigned short type); =20 /* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D */ @@ -464,7 +464,7 @@ PEER(line).ipset =3D &IPSET(line); =20 STATE(line) =3D WAITING_PPPCONF; - if (ipa_sendrequest(line, PEER(line).remote_bd, IPAREQ_GETIPSET) <= 0) + if (ipa_send_request(line, PEER(line).remote_bd, IPAREQ_GETIPSET) = < 0) { syslog(LOG_INFO, "IPA request failed or no IPA server"); =20 @@ -496,6 +496,7 @@ static unsigned char ms_wins1[35]; static unsigned char ms_wins2[35]; static unsigned char netmask[35]; + static char remote_bd_addr[18]; static char remote_bd_str[36]; static char local_bd_str[32]; static char remote_name[20 + BT_NAME_LENGTH]; @@ -541,6 +542,20 @@ opts[i++] =3D "login"; =20 #ifdef __CRIS__ + opts[i++] =3D "plugin"; + opts[i++] =3D "radaxis.so"; + + sprintf(remote_bd_addr, "%02x:%02x:%02x:%02x:%02x:%02x",=20 + PEER(line).remote_bd[0], + PEER(line).remote_bd[1], + PEER(line).remote_bd[2], + PEER(line).remote_bd[3], + PEER(line).remote_bd[4], + PEER(line).remote_bd[5]); + + opts[i++] =3D "remote-bd-addr"; + opts[i++] =3D remote_bd_addr; + read_local_bd(bt_cfd, local_bd); sprintf(local_bd_str, "Axis-BT-AP-ID=3D%02x:%02x:%02x:%02x:%02x:%02x= ", local_bd[0], @@ -574,7 +589,7 @@ =20 if (ipset->useradiusip) { - opts[i++] =3D "useautoip"; + opts[i++] =3D "use-auto-ip"; } =20 if (ipset->usingmasq) @@ -805,7 +820,7 @@ { STATE(line) =3D WAITING_RETURN_PPPCONF; =20 - if (ipa_sendrequest(line, PEER(line).remote_bd, IPAREQ_RELEASEIPSET)= < 0) + if (ipa_send_request(line, PEER(line).remote_bd, IPAREQ_RELEASEIPSET= ) < 0) { syslog(LOG_INFO, "IPA request failed or no IPA server"); /* put peer into state NOCONNECTION, if still connected this @@ -954,7 +969,7 @@ /* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D */ /* IPA stuff */ =20 -static int ipa_sendrequest(int line, unsigned char *bd, unsigned short typ= e) +static int ipa_send_request(int line, unsigned char *bd, unsigned short ty= pe) { unsigned char buf[IPA_MSG_MAXSIZE]; struct ipa_msg *msg; @@ -964,10 +979,11 @@ =20 msg =3D (struct ipa_msg*)buf; msg->type =3D type; - msg->len =3D sizeof(struct ipa_request); + msg->len =3D sizeof *req; req =3D (struct ipa_request*)msg->msg; req->id =3D line; - memcpy(req->remote_bd, bd, 6); + memcpy(req->remote_bd, bd, sizeof req->remote_bd); + return ipa_write(ipa_fd, msg); } =20 |
From: Alain P. <apa...@us...> - 2002-11-22 08:29:44
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- hci_vendor.c 1.66 1.67=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Write PS keys for CSR modules now big-endian compatible The diff of the modified file(s): --- hci_vendor.c 22 Jul 2002 17:29:50 -0000 1.66 +++ hci_vendor.c 22 Nov 2002 08:29:13 -0000 1.67 @@ -1111,6 +1111,13 @@ cmd =3D (struct csr_bccmd *)msg->msg; ps =3D (struct csr_bccmd_ps *)cmd->payload; =20 + /* Invert u16 if big endian */ + cmd->type =3D le16_to_cpu(cmd->type); + cmd->len =3D le16_to_cpu(cmd->len); + cmd->seq =3D le16_to_cpu(cmd->seq); + cmd->var_id =3D le16_to_cpu(cmd->var_id); + cmd->status =3D le16_to_cpu(cmd->status); + switch (CSR_GET_CH_ID(msg)) { case CSR_CH_ID_BCCMD: if (cmd->type =3D=3D CSR_MSGTYPE_GETRESP && |
From: Alain P. <apa...@us...> - 2002-11-22 08:29:15
|
The following file was modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bt_vendor.c 1.39 1.40=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Write PS keys for CSR modules now big-endian compatible The diff of the modified file(s): --- bt_vendor.c 2 Aug 2002 08:56:52 -0000 1.39 +++ bt_vendor.c 22 Nov 2002 08:29:14 -0000 1.40 @@ -297,7 +297,6 @@ { unsigned short msg[CSR_PSKEY_MAXPARAMS + CSR_PSKEY_MSGHDR_SIZE]; =20 -#ifndef CONFIG_BLUETOOTH_SD_SPECIFIC syslog(LOG_INFO, __FUNCTION__": ps_key 0x%x rw_mode : %d", ps_key, rw_mo= de); =20 msg[0] =3D ps_key; @@ -326,7 +325,6 @@ if (rw_mode =3D=3D CSR_PSKEY_GETREQ) memcpy(ps_vals, &msg[CSR_PSKEY_MSGHDR_SIZE], n_pars*2); =20 -#endif /* CONFIG_BLUETOOTH_SD_SPECIFIC */ } =20 =20 |
From: Peter K. <pk...@us...> - 2002-11-20 16:59:25
|
The following file was modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- btd.c 1.39 1.40=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Modified to use the RADIUS support that is part of the current development version of pppd. The diff of the modified file(s): --- btd.c 2 Oct 2002 15:28:31 -0000 1.39 +++ btd.c 20 Nov 2002 16:59:21 -0000 1.40 @@ -6,7 +6,7 @@ * o Handles multipoint ppp connections * o Handles HW upgrade * - * Copyright (C) 2000, 2001 Axis Communications AB + * Copyright (C) 2000, 2001, 2002 Axis Communications AB * * Author: Mattias Agren <mat...@ax...> * @@ -140,30 +140,18 @@ int pppd_pid; int do_modememul; unsigned char remote_bd[6]; + unsigned char remote_name[BT_NAME_LENGTH]; struct ip_set *ipset; } peer_struct; =20 struct peer_struct peerlist[BT_NBR_DATAPORTS]; struct ip_set ipsetlist[BT_NBR_DATAPORTS]; =20 -static unsigned char dev[20]; -static unsigned char ip_addresses[35]; -static unsigned char ms_dns1[35]; -static unsigned char ms_dns2[35]; -static unsigned char ms_wins1[35]; -static unsigned char ms_wins2[35]; -static unsigned char netmask[35]; -static char remote_bd_str[18]; -static char local_bd_str[18]; - -static fd_set rfd; -static struct timeval tv; - #define PEER(line) (peerlist[line]) #define IPSET(line) (ipsetlist[line]) #define STATE(line) (peerlist[line].state) =20 -static unsigned char *pppd_options[32]; +static unsigned char *pppd_options[64]; =20 /* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D */ /* IPA stuff */ @@ -219,8 +207,6 @@ { 0, 0, 0, 0 } }; =20 -static int option_index =3D 0; - static void init(); static void init_sighandler(void); static void btd_cleanup(void); @@ -236,6 +222,8 @@ int main(int argc, char **argv) {=20=20 + static fd_set rfd; + static struct timeval tv; int result, opt; int bt_disc =3D N_BT; =20=20=20 @@ -249,7 +237,7 @@ =20=20=20 /* now parse options */ while ((opt =3D getopt_long(argc, argv, "fi:m:n:Rs:u:IUB", - long_options, &option_index)) !=3D -1) + long_options, NULL)) !=3D -1) { switch(opt) { @@ -466,7 +454,8 @@ STATE(line) =3D CONNECTED; =20=20=20=20=20=20=20 read_remote_bd(bt_cfd, line, PEER(line).remote_bd); - printf("Remote bd: %s\n", bd2str(PEER(line).remote_bd)); + read_remote_name(bt_cfd, line, PEER(line).remote_name, sizeof PEER(l= ine).remote_name); + printf("Remote bd: %s (%s)\n", bd2str(PEER(line).remote_bd), PEER(li= ne).remote_name); =20=20=20=20=20=20=20 if (ipa_fd >=3D 0) {=20=20 @@ -500,9 +489,18 @@ /* only server */ void build_pppdopts(int line, char **opts) { - int i =3D 0; + static unsigned char dev[20]; + static unsigned char ip_addresses[35]; + static unsigned char ms_dns1[35]; + static unsigned char ms_dns2[35]; + static unsigned char ms_wins1[35]; + static unsigned char ms_wins2[35]; + static unsigned char netmask[35]; + static char remote_bd_str[36]; + static char local_bd_str[32]; + static char remote_name[20 + BT_NAME_LENGTH]; struct ip_set *ipset =3D PEER(line).ipset; - char local_ip[20]; + int i =3D 0; =20=20=20 if (ipa_fd >=3D 0) show_ipset(ipset, line); @@ -535,14 +533,16 @@ { unsigned char local_bd[6]; =20=20=20=20=20=20=20 - opts[i++] =3D "useradius"; + opts[i++] =3D "plugin"; + opts[i++] =3D "radius.so"; + opts[i++] =3D "plugin"; + opts[i++] =3D "radattr.so"; opts[i++] =3D "auth"; opts[i++] =3D "login"; - opts[i++] =3D "localbdaddr"; =20 +#ifdef __CRIS__ read_local_bd(bt_cfd, local_bd); -=20=20=20=20=20=20=20=20 - sprintf(local_bd_str, "%02x:%02x:%02x:%02x:%02x:%02x",=20 + sprintf(local_bd_str, "Axis-BT-AP-ID=3D%02x:%02x:%02x:%02x:%02x:%02x= ", local_bd[0],=20 local_bd[1],=20 local_bd[2],=20 @@ -550,11 +550,10 @@ local_bd[4],=20 local_bd[5]); =20=20=20=20=20=20=20 + opts[i++] =3D "avpair"; opts[i++] =3D local_bd_str; =20 - opts[i++] =3D "remotebdaddr"; - - sprintf(remote_bd_str, "%02x:%02x:%02x:%02x:%02x:%02x",=20 + sprintf(remote_bd_str, "Axis-BT-Client-ID=3D%02x:%02x:%02x:%02x:%02x= :%02x", PEER(line).remote_bd[0],=20 PEER(line).remote_bd[1],=20 PEER(line).remote_bd[2],=20 @@ -562,12 +561,27 @@ PEER(line).remote_bd[4],=20 PEER(line).remote_bd[5]); =20=20=20=20=20=20=20 + opts[i++] =3D "avpair"; opts[i++] =3D remote_bd_str; =20=20=20=20=20=20=20 + if (*PEER(line).remote_name) + { + sprintf(remote_name, "Axis-BT-Client-Name=3D\"%s\"", PEER(line).re= mote_name); + + opts[i++] =3D "avpair"; + opts[i++] =3D remote_name; + } + if (ipset->useradiusip) { opts[i++] =3D "useautoip"; }=20=20=20 + + if (ipset->usingmasq) + { + pppd_options[i++] =3D "acct-local-addr"; + } +#endif /* __CRIS__ */ }=20=20 else=20 { @@ -582,9 +596,12 @@ opts[i++] =3D "ktune"; /* enables ip_forwarding */ } =20 - strcpy(local_ip, get_local_ip_address()); - /* local/remote ip */ - sprintf(ip_addresses, "%s:%s", local_ip, inet_ntoa(ipset->ip)); + sprintf(ip_addresses, "%s:", get_local_ip_address()); + + if (!ipset->useradius || !ipset->useradiusip) + { + strcat(ip_addresses, inet_ntoa(ipset->ip)); + } =20=20=20=20=20 printf("IP used: %s\n", ip_addresses); =20 @@ -770,7 +787,19 @@ return; } =20=20=20=20=20 + if (WIFEXITED(status) && WEXITSTATUS(status)) + { +// unsigned int con_id; + + syslog(LOG_INFO, "PPP line %d was shutdown due to an error: %d", lin= e, WEXITSTATUS(status)); + +// con_id =3D CREATE_RFCOMM_ID(line, 2); +// bt_disconnect(bt_cfd, con_id); + } + else + { D(syslog(LOG_INFO, "PPP line %d was shutdown", line)); + } =20=20=20=20=20 if (ipa_fd >=3D 0) {=20 |
From: Peter K. <pk...@us...> - 2002-11-19 14:21:19
|
The following file was modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bt_if.h 1.37 1.38=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Minor change. The diff of the modified file(s): --- bt_if.h 19 Nov 2002 14:15:46 -0000 1.37 +++ bt_if.h 19 Nov 2002 14:21:18 -0000 1.38 @@ -126,7 +126,7 @@ #define BTREADREMOTEBDADDR _IOWR(BT_IOC_MAGIC, 0x07, unsigned char[6]) #define BTRESETPHYSICALHW _IO(BT_IOC_MAGIC, 0x08) #define BTISINITIATED _IOR(BT_IOC_MAGIC, 0x09, int) -#define BTHWVENDOR _IOR(BT_IOC_MAGIC, 0x0a, char[20]) +#define BTHWVENDOR _IOR(BT_IOC_MAGIC, 0x0A, char[20]) #define BTFIRMWAREINFO _IOR(BT_IOC_MAGIC, 0x0B, char[80]) =20 #define BTWAITFORCONNECTION _IOW(BT_IOC_MAGIC, 0x0C, int) @@ -136,7 +136,7 @@ //#define BT_SDP_REQUEST _IOW(BT_IOC_MAGIC, 0x0F, bt_sdp_request) #define BT_GETCACHEDLINKKEY _IOWR(BT_IOC_MAGIC, 0x10, unsigned char[22]) =20 -/* Disconnect the BB connection (Consafe) */ +/* Disconnect the BB connection */ #define BTDISCONNECT_BB _IOW(BT_IOC_MAGIC, 0x11, unsigned char[6]) =20 #define BTREADREMOTENAME _IOWR(BT_IOC_MAGIC, 0x12, unsigned char[BT_NAME_L= ENGTH]) |
From: Peter K. <pk...@us...> - 2002-11-19 14:15:47
|
The following files were modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bt_if.c 1.54 1.55=20=20=20=20=20=20=20=20=20=20=20=20=20=20 bt_if.h 1.36 1.37=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Added read_remote_name(). The diff of the modified file(s): --- bt_if.c 7 Nov 2002 14:38:19 -0000 1.54 +++ bt_if.c 19 Nov 2002 14:15:46 -0000 1.55 @@ -1180,6 +1180,26 @@ #endif } =20 +int +read_remote_name(int bt_cfd, int line, unsigned char *name, unsigned int l= ength) +{ +#ifndef BT_USERSTACK + *(int*)name =3D line; + *((int*)name+1) =3D length; + + if (ioctl(bt_cfd, BTREADREMOTENAME, name) < 0) + { + perror(__FUNCTION__); + return -1; + } + + return 0; +#else + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); + return -1; +#endif +} + int bt_write_scan_enable(int bt_cfd, unsigned int flags) { int result; --- bt_if.h 6 Aug 2002 17:56:15 -0000 1.36 +++ bt_if.h 19 Nov 2002 14:15:46 -0000 1.37 @@ -1,7 +1,7 @@ /* * bt_if.h -- Interface functions towards kernel / userstack * - * Copyright (C) 2000, 2001 Axis Communications AB + * Copyright (C) 2000, 2001, 2002 Axis Communications AB * * Author: Mattias Agren <mat...@ax...> * @@ -39,7 +39,6 @@ * */ =20=20 - #ifndef __BT_IF_H__ #define __BT_IF_H__ =20 @@ -140,6 +139,8 @@ /* Disconnect the BB connection (Consafe) */ #define BTDISCONNECT_BB _IOW(BT_IOC_MAGIC, 0x11, unsigned char[6]) =20 +#define BTREADREMOTENAME _IOWR(BT_IOC_MAGIC, 0x12, unsigned char[BT_NAME_L= ENGTH]) + /* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D */ /* Ioctls for executing HCI commands */ =20 @@ -180,7 +181,7 @@ #define HCIREADSTOREDLINKKEY _IOWR(BT_IOC_MAGIC, 0x33, unsigned char[7]) #define HCIWRITESTOREDLINKKEY _IOWR(BT_IOC_MAGIC, 0x34, unsigned char[22]) #define HCIDELETESTOREDLINKKEY _IOWR(BT_IOC_MAGIC, 0x35, unsigned char[7]) -#define HCISETLOCALNAME _IOW(BT_IOC_MAGIC, 0x36, unsigned char[248]) +#define HCISETLOCALNAME _IOW(BT_IOC_MAGIC, 0x36, unsigned char[BT_NAME_LEN= GTH]) #define HCIREADSCANENABLE _IOR(BT_IOC_MAGIC, 0x37, int) #define HCIWRITESCANENABLE _IOW(BT_IOC_MAGIC, 0x38, int) #define HCIWRITEPAGESCANACTIVITY _IOW(BT_IOC_MAGIC, 0x39, unsigned int[2]) @@ -196,7 +197,6 @@ #define HCIREADTRANSMITPOWERLEVEL _IOWR(BT_IOC_MAGIC, 0x57, unsigned char[= 3]) #define HCIWRITELINKSUPERVISIONTO _IOW(BT_IOC_MAGIC, 0x58, unsigned char[8= ]) =20=20 - /* Informational Parameters */ =20 #define HCIREADCOUNTRYCODE _IOR(BT_IOC_MAGIC, 0x43, int) @@ -358,6 +358,7 @@ void bt_set_bd_addr(int bt_cfd, unsigned char *bd); void read_local_bd(int bt_cfd, unsigned char *bd_addr); void read_remote_bd(int bt_cfd, int line, unsigned char *bd_addr); +int read_remote_name(int bt_cfd, int line, unsigned char *name, unsigned i= nt length); void role_switch(int bt_cfd, unsigned char *bd_addr, int role); =20 int bt_set_event_filter(int bt_cfd, unsigned char *filter, int len); |
From: Peter K. <pk...@us...> - 2002-11-19 14:13:11
|
The following files were modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bluetooth.c 1.234 1.235=20=20=20=20=20=20=20=20=20=20=20=20=20 hci.c 1.205 1.206=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Added BTREADREMOTENAME ioctl to get the Bluetooth name of a remote client. The diff of the modified file(s): --- bluetooth.c 1 Nov 2002 10:30:16 -0000 1.234 +++ bluetooth.c 19 Nov 2002 14:13:10 -0000 1.235 @@ -1,7 +1,7 @@ /* * bluetooth.c -- Linux kernel integration code for bluetooth stack * - * Copyright (C) 2000, 2001 Axis Communications AB + * Copyright (C) 2000, 2001, 2002 Axis Communications AB * * Author: Mattias Agren <mat...@ax...> * @@ -631,9 +631,8 @@ =20 case BTDISCONNECT_BB: { - /* Disconnect the BB connection (Consafe)=20 - The bd_addr is reversed=20 - */ + /* Disconnect the BB connection + The bd_addr is reversed */ u8 bd_addr[6]; l2cap_con *con_str; =20 @@ -643,8 +642,7 @@ bd_addr[0], bd_addr[1], bd_addr[2], bd_addr[3], bd_addr[4], bd_addr[5]); =20=09=09 - if ((con_str =3D get_con(bd_addr, ANY_STATE))=3D=3D NULL)=20 - { + if (!(con_str =3D get_con(bd_addr, ANY_STATE))) { D_ERR(__FUNCTION__ ": couldn't find l2cap con!\n"); return -MSGCODE(MSG_BT_INTERFACE, BT_NOTCONNECTED); } @@ -701,14 +699,31 @@ =20 copy_from_user(&line, (s32*)arg, size); =20 - get_remote_bd(line, bd_addr); + err =3D get_remote_bd(line, bd_addr); =20 /* return as big endian */ for (i =3D 0; i < 6; i++) { rev_bd[5-i] =3D bd_addr[i]; } copy_to_user((s32*)arg, rev_bd, 6); - break; + return err; + } + + case BTREADREMOTENAME: + { + u8 remote_name[BT_NAME_LENGTH]; + s32 line; + u32 length; + + BT_DRIVER(__FUNCTION__ ": BTREADREMOTENAME\n"); + + copy_from_user(&line, (s32*)arg, sizeof line); + copy_from_user(&length, (s32*)arg + 1, sizeof length); + + err =3D get_remote_name(line, remote_name, length); + + copy_to_user((s32*)arg, remote_name, BT_NAME_LENGTH); + return err; } =20 case BTRESETPHYSICALHW: @@ -729,8 +744,8 @@ break; =20 case BTSENDTESTDATA: - copy_from_user(&tmp, (s32*)arg, 4); - copy_from_user(&utmp, (s32*)arg + 1, 4); + copy_from_user(&tmp, (s32*)arg, sizeof tmp); + copy_from_user(&utmp, (s32*)arg + 1, sizeof utmp); rfcomm_send_testdata(tmp, utmp); break; =20 --- hci.c 15 Nov 2002 12:13:29 -0000 1.205 +++ hci.c 19 Nov 2002 14:13:10 -0000 1.206 @@ -3335,14 +3335,38 @@ memset(bd, 0, 6); =20 if (line >=3D 0 && line < MAX_NBR_OF_CONNECTIONS) { + if (hci_ctrl.con[line].state !=3D NOT_CONNECTED) { memcpy(bd, hci_ctrl.con[line].bd, 6); + } DSYS(__FUNCTION__ ": %02x:%02x:%02x:%02x:%02x:%02x\n", bd[5], bd[4], bd[3], bd[2], bd[1], bd[0]); return 0; } else { /* No connection yet */ D_WARN(__FUNCTION__ ": Unknown line: %d!\n", line); - return -1; + return -EINVAL; + } +} + +/* + * This function will return the remote name for a specific line + */ + +s32 +get_remote_name(s32 line, u8 *name, u32 length) +{ + D_CMD(__FUNCTION__ "\n"); + + if (line >=3D 0 && line < MAX_NBR_OF_CONNECTIONS) { + memset(name, '\0', min(length, BT_NAME_LENGTH)); + if (hci_ctrl.con[line].state !=3D NOT_CONNECTED) { + strncpy(name, hci_ctrl.con[line].name, min(length, BT_NAME_LENGTH)-1); + } + return 0; + } else { + /* No connection yet */ + D_WARN(__FUNCTION__ ": Unknown line: %d!\n", line); + return -EINVAL; } } =20 |
From: Peter K. <pk...@us...> - 2002-11-19 14:11:43
|
The following files were modified in linux/include/linux/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- btcommon.h 1.97 1.98=20=20=20=20=20=20=20=20=20=20=20=20=20=20 hci.h 1.78 1.79=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Added BTREADREMOTENAME ioctl to get the Bluetooth name of a remote client. The diff of the modified file(s): --- btcommon.h 27 Sep 2002 12:54:12 -0000 1.97 +++ btcommon.h 19 Nov 2002 14:11:42 -0000 1.98 @@ -1,7 +1,7 @@ /* * btcommon.h -- Contains common object structs/defines for bluetooth stack * - * Copyright (C) 2000, 2001 Axis Communications AB + * Copyright (C) 2000, 2001, 2002 Axis Communications AB * * Authors: Mattias Agren <mat...@ax...> * Mats Friden <mat...@ax...> @@ -149,6 +149,7 @@ #define BT_SDP_REQUEST _IOW(BT_IOC_MAGIC, 0x0F, bt_sdp_request) #define BT_GETCACHEDLINKKEY _IOWR(BT_IOC_MAGIC, 0x10, u8[22]) #define BTDISCONNECT_BB _IOW(BT_IOC_MAGIC, 0x11, u8[6]) +#define BTREADREMOTENAME _IOWR(BT_IOC_MAGIC, 0x12, u8[BT_NAME_LENGTH]) =20 /* Ioctls executing HCI commands */ =20 --- hci.h 8 Apr 2002 10:14:07 -0000 1.78 +++ hci.h 19 Nov 2002 14:11:43 -0000 1.79 @@ -2,7 +2,7 @@ * hci.c -- Implementation of Bluetooth Host Controller Interface following * the UART transport layer=20 * - * Copyright (C) 2000, 2001 Axis Communications AB + * Copyright (C) 2000, 2001, 2002 Axis Communications AB * * Author: Mats Friden <mat...@ax...> * @@ -188,7 +188,6 @@ s32 hci_read_num_broadcast_restransmissions(void); s32 hci_write_num_broadcast_restransmissions(u8 num_broadcast_retran); =20=20 - /* Informational Parameters */ s32 hci_read_local_bd(u8 *bd); s32 hci_read_local_version_info(s32 block); @@ -200,6 +199,7 @@ /* Internal */ /* FIXME -- add parameter to choose from different devices */ s32 get_remote_bd(int line, u8 *bd); +s32 get_remote_name(int line, u8 *name, u32 length); =20 void update_ncp(u8 nbr_of_hdl, u8 *pkt); =20 |
From: Peter K. <pk...@us...> - 2002-11-15 12:13:38
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- hci.c 1.204 1.205=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Made send_acl_packet() return an error on failure, and handle it in send_acl_data_task(). It is probably not the correct solution, but it should hopefully not oops any longer. The diff of the modified file(s): --- hci.c 15 Nov 2002 12:08:54 -0000 1.204 +++ hci.c 15 Nov 2002 12:13:29 -0000 1.205 @@ -3577,12 +3577,12 @@ while ((hci_ctrl.hc_buf.acl_num > 0) && bytes2send ) { sti(); =20 - /* FIXME -- what if send_acl_packet fails ??? - Then acl_num will decrease anyway ... */ - sent_bytes =3D send_acl_packet(tx_buf); =20 - if (sent_bytes !=3D 0) { + if (sent_bytes < 0) { + /* FIXME: Is this correct? Probably not... */ + bytes2send =3D 0; + } else if (sent_bytes > 0) { bytes2send -=3D sent_bytes; cli(); hci_ctrl.acl_buf_count[tx_buf->hci_hdl]++; @@ -3635,7 +3635,8 @@ if ((cur_data < tx_buf->data) || (cur_data > (tx_buf->data+tx_buf->subscr_len))) { - D_ERR("send_acl_packet : Corrupting btmem buffers !!!\n"); + D_ERR(__FUNCTION__ ": Buffer corrupted (deleted?)!\n"); + return -EFAULT; } =20 /* Fills in the HCI header in the packet */ |
From: Peter K. <pk...@us...> - 2002-11-15 12:09:03
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- hci.c 1.203 1.204=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Clean up. The diff of the modified file(s): --- hci.c 17 Oct 2002 14:29:58 -0000 1.203 +++ hci.c 15 Nov 2002 12:08:54 -0000 1.204 @@ -2,7 +2,7 @@ * hci.c -- Implementation of Bluetooth Host Controller Interface=20 * (UART transport layer) * - * Copyright (C) 2000, 2001 Axis Communications AB + * Copyright (C) 2000, 2001, 2002 Axis Communications AB * * Author: Mats Friden <mat...@ax...> * @@ -264,7 +264,6 @@ sizes and connections */ hci_controller hci_ctrl =3D {{0, 0, 0, 0, 0}}; =20=09=09=09=20 - #ifdef __KERNEL__ #ifdef USE_NCPTIMER static struct timer_list hci_ncp_timer; @@ -364,7 +363,6 @@ u8 *buf; /* Temporary pointer to the incoming data */ u32 tmp_data_len; =20 -=20 PRINTPKT(__FUNCTION__ ": ", data, count); =20=20=20 tmp_data_len =3D count; @@ -377,7 +375,6 @@ D_INDATA(__FUNCTION__ ": hci-%d\n", tmp_data_len); while (count > 0) { switch (state) { -=09=09=09 /* The first byte will tell us whether it is an event or a data packet */ case WAIT_FOR_PACKET_TYPE: @@ -388,7 +385,6 @@ case ACL_PKT: state =3D WAIT_FOR_ACL_HDR; break; case SCO_PKT: state =3D WAIT_FOR_SCO_HDR; break; default: -=09=09=09=20=20 /* Call vendor specific function if needed */ #ifdef CONFIG_BLUETOOTH_TEXASINSTRUMENTS=09=09=09=20=20 if (hci_receive_data_texas_specific(buf, count) =3D=3D 0) { @@ -1004,7 +1000,6 @@ #ifdef CONFIG_BLUETOOTH_USE_SECURITY_MANAGER if (buf[0]) { D_ERR(__FUNCTION__ ": AUTHENTICATION_COMPLETE: %s\n", get_err_msg(buf[0= ])); -=09=09=09 } =20=09=09 sec_man_event(HCI, get_bd(hci_handle(&buf[1])), AUTHENTICATION_COMPLETE,= buf, 1); @@ -1023,7 +1018,6 @@ } else { set_hci_con_name(buf + 1, buf + 7); } -=09=09=09 } /* Store the name in a global variable to send back to userland */ memcpy(name_request_response + 1, buf + 7, BT_NAME_LENGTH); @@ -1128,7 +1122,6 @@ get_err_msg(buf[0])); =20=09=09=09 /* fixme -- Notify l2cap that this BD will go down */ -=09=09=09 } else if (buf[7]) { DSYS(__FUNCTION__ ": Current master is 0x%04x%08x\n",=20 le16_to_cpuu(&buf[5]), le32_to_cpuu(&buf[1])); @@ -1362,7 +1355,6 @@ } break; =20=09=09=09 -=09=09=09 case READ_STORED_LINK_KEY: DSYS(__FUNCTION__ ": READ_STORED_LINK_KEY\n"); if (r_val[0]) { @@ -1405,7 +1397,6 @@ break;=09 =20=20=20=20=20=20=20=20=20=20=20=20=20 case READ_TRANSMIT_POWER_LEVEL:=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 -=09=09=20=20 printk(__FUNCTION__ ": READ_TRANSMIT_POWER_LEVEL\n"); if (r_val[0]) { D_ERR(__FUNCTION__ ": READ_TRANSMIT_POWER_LEVEL: %s\n", @@ -1536,7 +1527,6 @@ =20=09=09=09 break; =20 -=20=20=20=20=20=20=20=20=20=20=20=20 case READ_LINK_SUPERVISION_TIMEOUT: D_CMD(__FUNCTION__ ": Link supervision timeout is: %d\n", le16_to_cpuu(&buf[3])); @@ -1630,7 +1620,6 @@ } break; =20=09=09=09 - case READ_LOCAL_VERSION_INFORMATION: D_CMD(__FUNCTION__ ": READ_LOCAL_VERSION_INFORMATION\n"); if (r_val[0]) { @@ -1849,8 +1838,6 @@ hci_ctrl.local_bd[1], hci_ctrl.local_bd[0]); } =20=09=09=20=20=20=20=20=20=20 -=09=09=20=20=20=20=20=20=20 - s32 hci_sprint_remote_info(u8 *buf) { s32 pos =3D 0; @@ -2398,8 +2385,6 @@ packet types. */ =20 - - s32 change_connection_packet_type(u32 hci_hdl, u32 pkt_type) { @@ -2487,7 +2472,6 @@ } else { return hci_set_connection_encryption((u16)tmp, enable); } -=09 } =20 s32 @@ -2562,8 +2546,8 @@ s32 c =3D 0, retval =3D 0; s32 zero =3D 0; =20=09=09 - D_CMD(__FUNCTION__ ": for bd address 0x%02x:%02x:%02x:%02x:%02x:%02x\n" - , bd[5], bd[4], bd[3], bd[2], bd[1], bd[0]); + D_CMD(__FUNCTION__ ": for bd address 0x%02x:%02x:%02x:%02x:%02x:%02x\n", + bd[5], bd[4], bd[3], bd[2], bd[1], bd[0]); =20=09 c_pkt.type =3D CMD_PKT; c_pkt.opcode =3D hci_put_opcode(REMOTE_NAME_REQUEST, HCI_LC); @@ -2598,7 +2582,6 @@ }=09 } =20 - s32=20 hci_flush(u32 hdl) { @@ -2697,7 +2680,6 @@ }=09 } =20 - s32 hci_change_local_name(u8 *new_name) { @@ -2712,7 +2694,6 @@ return send_cmd_block((u8*) &c_pkt , c_pkt.len + CMD_HDR_LEN + HCI_HDR_LE= N, DEFAULT_TIMEOUT); } =20 - s32 hci_read_scan_enable(void) { @@ -3081,7 +3062,6 @@ c_pkt.data[4] =3D ((nbr_of_packets >> 8) & 0xff); c_pkt.len =3D 5; =20 -=09 /*FIXME -- Risk for race against sending acl packets ? */ tmp =3D bt_write_lower_driver((u8*) &c_pkt, c_pkt.len + CMD_HDR_LEN + HCI= _HDR_LEN); return tmp; @@ -3119,8 +3099,6 @@ return send_cmd_block((u8*) &c_pkt, c_pkt.len + CMD_HDR_LEN + HCI_H= DR_LEN, DEFAULT_TIMEOUT); else return send_cmd((u8*) &c_pkt, c_pkt.len + CMD_HDR_LEN + HCI_= HDR_LEN); - - } =20 /* Defines of Informational Parameters function */ @@ -3140,9 +3118,8 @@ c_pkt.opcode =3D hci_put_opcode(READ_BUFFER_SIZE, HCI_IP); c_pkt.len =3D 0; =20 - if (block) { + if (block) return send_cmd_block((u8*) &c_pkt, c_pkt.len + CMD_HDR_LEN + HCI_HDR_LE= N, DEFAULT_TIMEOUT); - } else return send_cmd((u8*) &c_pkt, c_pkt.len + CMD_HDR_LEN + HCI_HDR_LEN); } @@ -3448,6 +3425,7 @@ c_pkt.len =3D 2; c_pkt.data[0] =3D co_ac_to & 0xff; c_pkt.data[1] =3D (co_ac_to >> 8) & 0xff; + return send_cmd((u8*) &c_pkt, c_pkt.len + CMD_HDR_LEN + HCI_HDR_LE= N); } =20 @@ -3456,6 +3434,7 @@ c_pkt.type =3D CMD_PKT; c_pkt.opcode =3D hci_put_opcode(INQUIRY_CANCEL, HCI_LC); c_pkt.len =3D 0; + return send_cmd((u8*) &c_pkt, c_pkt.len + CMD_HDR_LEN + HCI_HDR_LE= N); } =20 @@ -3468,7 +3447,9 @@ c_pkt.data[0] =3D (hdl & 0xff); c_pkt.data[1] =3D ((hdl >> 8) & 0xff); c_pkt.len =3D 2; + tmp =3D send_cmd_block((u8*) &c_pkt, c_pkt.len + CMD_HDR_LEN + HCI= _HDR_LEN, DEFAULT_TIMEOUT*HZ);=20 + return tmp < 0 ? 2<<16 : result_param_offset|(1<<16); } =20 @@ -3481,6 +3462,7 @@ c_pkt.data[0] =3D (hdl & 0xff); c_pkt.data[1] =3D ((hdl >> 8) & 0xff); c_pkt.len =3D 2; + tmp =3D send_cmd((u8*) &c_pkt, c_pkt.len + CMD_HDR_LEN + HCI_HDR_L= EN); =20=20=20=20=20=20=20=20=20 return (tmp<0)|(result_param=3D=3D256) ? 2<<8 : result_param|(1<<8= ); @@ -3512,6 +3494,7 @@ lp_connect_rsp(u8 bd_addr[], u32 cfm) {=20 D_CMD(__FUNCTION__ ": Status: %d\n", cfm); + if (cfm) { #ifdef CONFIG_BLUETOOTH_EARLY_MSSWITCH if (force_msswitch) { @@ -3523,8 +3506,6 @@ #else return accept_connection_request(bd_addr, MS_SWITCH_REMAIN_SLAVE); #endif - - } else { return reject_connection_request(bd_addr, 0x0d); /* FIXME: 0x0d =3D due to limited resourses store this @@ -3611,7 +3592,6 @@ break; } =20 -=09=09=09 D_QUEUE("<--%d (%d)\n", buf_byte_count(-1),=20 hci_ctrl.hc_buf.acl_num); =20=09=09 @@ -4221,7 +4201,6 @@ hci_cmd_pending =3D 0; =20=20 wake_up_interruptible(&hci_wq); -=20 } #endif =20 |
From: Alain P. <apa...@us...> - 2002-11-14 15:13:57
|
The following file was modified in apps/bluetooth/sdp_server: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- sdp_smartdata.xml 1.1 1.2=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20 The accompanying log: Crashed when searchin for FAX profile. Is now OK. The diff of the modified file(s): --- sdp_smartdata.xml 22 Jul 2002 13:57:19 -0000 1.1 +++ sdp_smartdata.xml 14 Nov 2002 15:13:54 -0000 1.2 @@ -47,37 +47,6 @@ <ServiceName>Dial-up Networking</ServiceName> </DialupNetworking> =20 - <Fax ServiceRecordHandle =3D "0x00010001"> - <ServiceRecordHandle Parameter0 =3D "0x0a00010001"> - </ServiceRecordHandle>=20=20=20 - <ServiceClassIDList NbrOfEntities =3D "2"> - <Fax> - </Fax> - <GenericTelephony> - </GenericTelephony> - </ServiceClassIDList> - <ProtocolDescriptorList NbrOfEntities =3D "2"> - <L2CAP type =3D "DES"> - </L2CAP> - <RFCOMM type =3D "DES" Parameter0 =3D "0x0802"> - </RFCOMM> - </ProtocolDescriptorList> - <BrowseGroupList NbrOfEntities =3D "1"> - <PublicBrowseGroup> - </PublicBrowseGroup> - </BrowseGroupList> - <LanguageBaseAttributeIDList type =3D "DES" - Parameter0 =3D "0x09656E" - Parameter1 =3D "0x09006A" - Parameter2 =3D "0x090100"> - </LanguageBaseAttributeIDList> - <BluetoothProfileDescriptorList NbrOfEntities =3D "1"> - <Fax type =3D "DES" Parameter0 =3D "0x090100"> - </Fax> - </BluetoothProfileDescriptorList> - <ServiceName>Fax</ServiceName> - </Fax> - <OBEXObjectPush ServiceRecordHandle =3D "0x00010002"> <ServiceRecordHandle Parameter0 =3D "0x0a00010002"> </ServiceRecordHandle>=20=20=20 @@ -109,92 +78,6 @@ <ServiceName>OBEX Object Push</ServiceName> </OBEXObjectPush> =20 - <DummyOne ServiceRecordHandle =3D "0x00011500"> - <ServiceRecordHandle Parameter0 =3D "0x0a00011500"> - </ServiceRecordHandle> - <ServiceClassIDList NbrOfEntities =3D "1"> - <DummyOne> - </DummyOne> - </ServiceClassIDList> - </DummyOne> - - <DummyTwo ServiceRecordHandle =3D "0x00011501"> - <ServiceRecordHandle Parameter0 =3D "0x0a00011501"> - </ServiceRecordHandle> - <ServiceClassIDList NbrOfEntities =3D "1"> - <DummyTwo> - </DummyTwo> - </ServiceClassIDList> - </DummyTwo> -=20=20 - <DummyThr ServiceRecordHandle =3D "0x00011502"> - <ServiceRecordHandle Parameter0 =3D "0x0a00011502"> - </ServiceRecordHandle> - <ServiceClassIDList NbrOfEntities =3D "1"> - <DummyThr> - </DummyThr> - </ServiceClassIDList> - </DummyThr> -=20 - <DummyFou ServiceRecordHandle =3D "0x00011503"> - <ServiceRecordHandle Parameter0 =3D "0x0a00011503"> - </ServiceRecordHandle> - <ServiceClassIDList NbrOfEntities =3D "1"> - <DummyFou> - </DummyFou> - </ServiceClassIDList> - </DummyFou> - - <DummyFiv ServiceRecordHandle =3D "0x00011504"> - <ServiceRecordHandle Parameter0 =3D "0x0a00011504"> - </ServiceRecordHandle> - <ServiceClassIDList NbrOfEntities =3D "1"> - <DummyFiv> - </DummyFiv> - </ServiceClassIDList> - </DummyFiv> - - <DummySix ServiceRecordHandle =3D "0x00011505"> - <ServiceRecordHandle Parameter0 =3D "0x0a00011505"> - </ServiceRecordHandle> - <ServiceClassIDList NbrOfEntities =3D "1"> - <DummySix> - </DummySix> - </ServiceClassIDList> - </DummySix> - - <DummySev ServiceRecordHandle =3D "0x00011506"> - <ServiceRecordHandle Parameter0 =3D "0x0a00011506"> - </ServiceRecordHandle> - <ServiceClassIDList NbrOfEntities =3D "1"> - <DummySev> - </DummySev> - </ServiceClassIDList> - </DummySev> - - <DummyEig ServiceRecordHandle =3D "0x00011507"> - <ServiceRecordHandle Parameter0 =3D "0x0a00011507"> - </ServiceRecordHandle> - <ServiceClassIDList type =3D "DES" Parameter0 =3D "0x091507"> - </ServiceClassIDList> - <BrowseGroupList NbrOfEntities =3D "1"> - <TestGroupID> - </TestGroupID> - </BrowseGroupList> - </DummyEig> - - <TestGroup ServiceRecordHandle =3D "0x00011508"> - <ServiceRecordHandle Parameter0 =3D "0x0a00011508"> - </ServiceRecordHandle> - <ServiceClassIDList NbrOfEntities =3D "1"> - <BrowseGroupDescriptorServiceClassID> - </BrowseGroupDescriptorServiceClassID> - </ServiceClassIDList> - <GroupID Parameter0 =3D "0x091509"> - </GroupID> - </TestGroup> -=20=20=20=20=20=20=20=20=20 - </bluetoothSDP> =20 <SDPBrowsingRegister> @@ -211,20 +94,7 @@ BrowseGroupDescriptorServiceClassID =3D "0x1001" PublicBrowseGroup =3D "0x1002" DialupNetworking =3D "0x1103" - OBEXObjectPush =3D "0x1105" - Fax =3D "0x1111" - GenericNetworking =3D "0x1201" - GenericTelephony =3D "0x1204" - DummyOne =3D "0x1300" - DummyTwo =3D "0x1301" - DummyThr =3D "0x1302" - DummyFou =3D "0x1303" - DummyFiv =3D "0x1304" - DummySix =3D "0x1305" - DummySev =3D "0x1306" - DummyEig =3D "0x1307" - TestGroup =3D "0x1508" - TestGroupID =3D "0x1509" > + OBEXObjectPush =3D "0x1105"> </ServiceClasses> =20 <AttributeIdentifierCodes @@ -244,9 +114,6 @@ <SDPTranslationRegister ServiceDiscoveryServer =3D "191000" DialupNetworking =3D "191103" - Fax =3D "191111" - GenericNetworking =3D "121201" - GenericTelephony =3D "191204" OBEXObjectPush =3D "191105" PublicBrowseGroup =3D "191002" L2CAP =3D "190100" |
From: Peter K. <pk...@us...> - 2002-11-07 14:38:21
|
The following file was modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bt_if.c 1.53 1.54=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Clean up. The diff of the modified file(s): --- bt_if.c 26 Aug 2002 15:07:28 -0000 1.53 +++ bt_if.c 7 Nov 2002 14:38:19 -0000 1.54 @@ -1,7 +1,7 @@ /* * bt_if.c -- Interface functions towards kernel / userstack * - * Copyright (C) 2000, 2001 Axis Communications AB + * Copyright (C) 2000, 2001, 2002 Axis Communications AB * * Author: Mattias Agren <mat...@ax...> * @@ -353,7 +353,7 @@ else printf("BB Disconnected\n"); #else - fprintf(stderr, __FUNCTION__ ": not yet implemented...\n"); + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif return ret_val; } @@ -370,7 +370,7 @@ exit(1); } #else - fprintf(stderr, __FUNCTION__ ": not yet implemented...\n"); + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); ret =3D -1; #endif if (bt_cfd < 0) @@ -459,17 +459,17 @@ void bt_waitline(int bt_fd, int line) { - printf("wait for a connection on line %d\n", line); + printf("Wait for a connection on line %d\n", line); #ifndef BT_USERSTACK if (ioctl(bt_fd, BTWAITFORCONNECTION, &line) < 0) { perror(__FUNCTION__); exit(1); } - printf(__FUNCTION__ ": got a connection !\n"); + printf(__FUNCTION__ ": Got a connection !\n"); #else /* fixme<1> */ - fprintf(stderr, __FUNCTION__ ": not yet implemented...\n"); + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 @@ -483,10 +483,10 @@ perror(__FUNCTION__); exit(1); } - printf(__FUNCTION__ ": found a connection !\n"); + printf(__FUNCTION__ ": Found a connection !\n"); #else /* fixme<1>*/ - fprintf(stderr, __FUNCTION__ ": not yet implemented...\n"); + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20=20 @@ -500,10 +500,10 @@ perror(__FUNCTION__); exit(1); } - printf(__FUNCTION__ ": got a connection !\n"); + printf(__FUNCTION__ ": Got a connection !\n"); #else /* fixme<1>*/ - fprintf(stderr, __FUNCTION__ ": not yet implemented...\n"); + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 @@ -524,7 +524,7 @@ return -1; } #else - fprintf(stderr, __FUNCTION__ ": not yet implemented...\n"); + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); //hci_send_raw_data(data, 16); #endif return 0; @@ -698,7 +698,6 @@ /* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D */ /* BNEP functions */ =20 - void bnep_connect(int bt_fd, unsigned char *bd) { @@ -707,15 +706,17 @@ #ifndef BTD_USERSTACK result =3D ioctl(bt_fd, BNEPCONNECT, bd); if (result&0x0ff) - printf("Connect failed [%s ((0x%X))]\n", error_msg(result&0x0ff), resu= lt); - else { - printf("Connected on con_hdl =3D %.2X:%.2X\n", bd[0], bd[1]); - printf("BNEP Interface =3D 0x%X\n", bd[2]); + { + printf("BNEP connect failed [%s ((0x%X))]\n", + error_msg(result & 0x0ff), result); } -#else + else {=20=20 - printf("Unsupported in usermode\n"); + printf("BNEP connected on con_hdl =3D %.2X:%.2X\n", bd[0], bd[1]); + printf("BNEP Interface =3D 0x%X\n", bd[2]); } +#else + printf(__FUNCTION__ ": Unsupported in usermode\n"); #endif } =20=20 @@ -727,106 +728,95 @@ #ifndef BTD_USERSTACK result =3D ioctl(bt_fd, BNEPDISCONNECT, bd); if (result)=20 - printf("Disconnect failed [%s ((0x%X))]\n", error_msg(resul= t&0x0ff), result&0x0ff); + { + printf("BNEP disconnect failed [%s ((0x%X))]\n", + error_msg(result & 0x0ff), result & 0x0ff); + } else=20 - printf("Disconnect OK\n"); -#else {=20=20 - printf("Unsupported in usermode\n"); + printf("BNEP disconnect OK\n"); } +#else + printf(__FUNCTION__ ": Unsupported in usermode\n"); #endif } =20 - - /* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D */ /* HCI functions */ =20 - void bt_read_rssi(int bt_cfd, unsigned char* con_hdl) { - #ifndef BTD_USERSTACK=20 if (ioctl(bt_cfd, HCIREADRSSI, con_hdl) < 0) { - perror("read_rssi"); + perror(__FUNCTION__); } else { if (con_hdl[1] =3D=3D 2) + { printf("RSSI level =3D 0x%X\n", con_hdl[0]); + } else + { printf("Not valid RSSI value !!!\n"); } -#else - {=20=20 - printf("Unsupported in usermode\n"); } +#else + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 void bt_park_mode(int bt_cfd, unsigned char* park_params) { - #ifndef BTD_USERSTACK=20 if (ioctl(bt_cfd, HCIPARKMODE, park_params) < 0) { - perror("park_mode"); + perror(__FUNCTION__); } #else - {=20=20 - printf("Unsupported in usermode\n"); - } + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 void bt_exit_park_mode(int bt_cfd, unsigned char* con_hdl) { - #ifndef BTD_USERSTACK=20 if (ioctl(bt_cfd, HCIEXITPARKMODE, con_hdl) < 0) { - perror("exit_park_mode"); + perror(__FUNCTION__); } #else - {=20=20 - printf("Unsupported in usermode\n"); - } + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 void bt_sniff_mode(int bt_cfd, unsigned char* sniff_params) { - #ifndef BTD_USERSTACK=20 if (ioctl(bt_cfd, HCISNIFFMODE, sniff_params) < 0) { - perror("sniff_mode"); + perror(__FUNCTION__); } #else - {=20=20 - printf("Unsupported in usermode\n"); - } + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 void bt_exit_sniff_mode(int bt_cfd, unsigned char* con_hdl) { - #ifndef BTD_USERSTACK=20 if (ioctl(bt_cfd, HCIEXITSNIFFMODE, con_hdl) < 0) { - perror("exit_sniff_mode"); + perror(__FUNCTION__); } #else - {=20=20 - printf("Unsupported in usermode\n"); - } + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 @@ -836,52 +826,47 @@ #ifndef BTD_USERSTACK=20 if (ioctl(bt_cfd, HCIHOLDMODE, hold_params) < 0) { - perror("hold mode"); + perror(__FUNCTION__); } #else - {=20=20 - printf("Unsupported in usermode\n"); - } + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 void bt_write_link_policy_settings(int bt_cfd, unsigned char* policy_params) { - #ifndef BTD_USERSTACK=20 if (ioctl(bt_cfd, HCIWRITELINKPOLICYSETTINGS, policy_params) < 0) { - perror("write_link_policy_settings"); + perror(__FUNCTION__); } #else - {=20=20 - printf("Unsupported in usermode\n"); - } + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 - void bt_read_clock_offset(int bt_cfd, unsigned char* con_hdl) { - #ifndef BTD_USERSTACK=20 if (ioctl(bt_cfd, HCIREADCLOCKOFFSET, con_hdl) < 0) { - perror("read_rssi"); + perror(__FUNCTION__); } else { if ((signed char)con_hdl[2] >=3D 0) + { printf("CLOCK OFFSET =3D 0x%X%X\n", con_hdl[1], con_hdl[0]); + } else + { printf("Not valid CLOCK OFFSET value !!!\n"); } -#else - {=20=20 - printf("Unsupported in usermode\n"); } +#else + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 @@ -893,116 +878,104 @@ #ifndef BTD_USERSTACK=20 if (ioctl(bt_cfd, HCIREADNUMBROADCASTRETRANSMISSIONS, num_rtx) < 0) { - perror("read_num_broadcast_rtx"); + perror(__FUNCTION__); } else { if ( (signed char)num_rtx[1] >=3D 0 ) + { printf("read num broadcast rtx =3D 0x%X\n", num_rtx[0]); + } else + { printf("Not valid BROADCAST RTX value =3D 0x%X !!!\n",num_rtx[1]); } -#else - {=20=20 - printf("Unsupported in usermode\n"); } +#else + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 void bt_write_num_broadcast_rtx(int bt_cfd, unsigned char* num_rtx) { - #ifndef BTD_USERSTACK=20 if (ioctl(bt_cfd, HCIWRITENUMBROADCASTRETRANSMISSIONS, num_rtx) < 0) { - perror("write_num_broadcast_rtx"); + perror(__FUNCTION__); } #else - {=20=20 - printf("Unsupported in usermode\n"); - } + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 void bt_write_page_to(int bt_cfd, unsigned char* page_to) { - #ifndef BTD_USERSTACK=20 if (ioctl(bt_cfd, HCIWRITEPAGETO, page_to) < 0) { - perror("write_page_to"); + perror(__FUNCTION__); } #else - {=20=20 - printf("Unsupported in usermode\n"); - } + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 void bt_read_tx_power_level(int bt_cfd, unsigned char* tx_power_level) { - #ifndef BTD_USERSTACK=20 if (ioctl(bt_cfd, HCIREADTRANSMITPOWERLEVEL, tx_power_level) < 0) { - perror("read_tx_power_level"); + perror(__FUNCTION__); } else { if ( (char)tx_power_level[1] =3D=3D 1 ) + { printf("read tx power level =3D 0x%X\n", tx_power_level[0]); + } else + { printf("Not valid TX POWER LEVEL value !!!\n"); } -#else - {=20=20 - printf("Unsupported in usermode\n"); } +#else + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 void bt_write_link_supervision_to(int bt_cfd, unsigned char* link_to) { - #ifndef BTD_USERSTACK=20 if (ioctl(bt_cfd, HCIWRITELINKSUPERVISIONTO, link_to) < 0) { - perror("link_supervision_to"); + perror(__FUNCTION__); } #else - {=20=20 - printf("Unsupported in usermode\n"); - } + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 - - - void bt_write_page_scan_activity(int bt_cfd, unsigned char* page_scan) { - #ifndef BTD_USERSTACK=20 - printf("Setting write_pagescan_activity: p_s_int =3D 0x%X%X p_s_win= =3D 0x%X -%X\n",page_scan[0]&0x0FF, page_scan[1]&0x0FF, page_scan[4]&0x0FF, page_sca= n[5]&0x0FF); + printf("Setting write_pagescan_activity: p_s_int =3D 0x%X%X p_s_win =3D = 0x%X%X\n", + page_scan[0] & 0xFF, page_scan[1] & 0xFF, + page_scan[4] & 0xFF, page_scan[5] & 0xFF); =20=20=20 if (ioctl(bt_cfd, HCIWRITEPAGESCANACTIVITY, page_scan) < 0) {=20 - perror("write_page_scan_activity"); + perror(__FUNCTION__); } #else - {=20=20 - printf("Unsupported in usermode\n"); - } + fprintf(stderr, __FUNCTION__ ": Not yet implemented...\n"); #endif } =20 - int bt_inquiry(int bt_cfd, int nbr_rsp, int t, int get_name) { @@ -1043,11 +1016,13 @@ /* First print the number of units found */ printf("%d", inq_res->nbr_of_units); =20=09 - for (i =3D 0; i < inq_res->nbr_of_units; i++) { + for (i =3D 0; i < inq_res->nbr_of_units; i++) + { /* Copy BD_ADDR to send in ioctl */ memcpy(name_device,inq_res->bd_addr + 6*i, 6); =20=20=20=20=20 - if ((retval =3D ioctl(bt_cfd, HCIREMOTENAME_REQUEST, name_device)) < 0= ) { + if ((retval =3D ioctl(bt_cfd, HCIREMOTENAME_REQUEST, name_device)) <= 0) + { fprintf (stderr, "Remote name request failed [%s (%d)]\n", error_msg= (retval), MSG_GET_CODE(-retval)); /* Test if the problem is that the IOCTL doesn't exist */ if (errno =3D=3D EINVAL) @@ -1055,24 +1030,29 @@ /* Print a default name */ printf("\nDevice with unknown name"); } - else { + else + { switch (retval) { case 0x04: /* Page timeout */ printf("\nDevice with unknown name"); break; + case 0x00: - if (name_device[0] =3D=3D '\0') { + if (name_device[0] =3D=3D '\0') + { printf("Device with empty name\n"); } - else { + else + { printf("\n%s", name_device); } break; + default: - printf("\nDevice with unrecoverable name");; + printf("\nDevice with unrecoverable name"); + break; } /* Switch */ - } =20 /* Print BD address */ @@ -1080,7 +1060,6 @@ inq_res->bd_addr[0+6*i], inq_res->bd_addr[1+6*i], inq_res->bd_addr[2+6*i], inq_res->bd_addr[3+6*i], inq_res->bd_addr[4+6*i], inq_res->bd_addr[5+6*i]); -=09=20=20 } /* End of loop on every addresses founded */ } /* End of if get_name */ else @@ -1093,7 +1072,6 @@ inq_res->bd_addr[2+6*i], inq_res->bd_addr[3+6*i], inq_res->bd_addr[4+6*i], inq_res->bd_addr[5+6*i]); } - } free(inq_res); #endif @@ -1141,10 +1119,6 @@ return result; } =20 - - - - void read_local_bd(int bt_cfd, unsigned char *bd_addr) { @@ -1199,7 +1173,8 @@ get_remote_bd(line, rev_bd); =20 /* return as big endian */ - for (i =3D 0; i < 6; i++) { + for (i =3D 0; i < 6; i++) + { bd_addr[i] =3D rev_bd[5-i]; } #endif @@ -1357,7 +1332,7 @@ } syslog(LOG_INFO, "Registered bluetooth line discipline on %s", physdev); #else - fprintf(stderr, __FUNCTION__ ": ignored in usermode stack\n"); + fprintf(stderr, __FUNCTION__ ": Ignored in usermode stack\n"); #endif } =20 @@ -1638,7 +1613,7 @@ { execvp(SDPSRV_CMD, args); =20 - fprintf(stderr, "%s: no such file or directory\n", SDPSRV_CMD); + fprintf(stderr, "%s: No such file or directory\n", SDPSRV_CMD); syslog(LOG_INFO, "%s not found", SDPSRV_CMD); =20 _exit(0); @@ -1845,21 +1820,23 @@ =20 psm =3D GET_PSM(con_id); =20 - if (status) { + if (status) + { /* fixme -- only works for rfcomm now */ line =3D GET_LINE(con_id); =20 - if ((line < 0) || (line > BT_NBR_DATAPORTS)) { - - fprintf(stderr, __FUNCTION__ ": invalid line (%d)\n", line); + if ((line < 0) || (line > BT_NBR_DATAPORTS)) + { + fprintf(stderr, __FUNCTION__ ": Invalid line (%d)\n", line); return; } - fprintf(stderr, __FUNCTION__": failed, status %d [%s] line %d\n", stat= us, psmname(psm), line); + fprintf(stderr, __FUNCTION__": Failed, status %d [%s] line %d\n", stat= us, psmname(psm), line); =20 return; } =20 - switch (psm) { + switch (psm) + { case RFCOMM_LAYER: printf(__FUNCTION__ ": [%s]\n", psmname(psm)); break; @@ -1921,8 +1898,3 @@ return bt_initdone; } #endif /* BT_USERSTACK */ - - - - - |
From: Anders J. <and...@us...> - 2002-11-01 10:30:17
|
The following files were modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bluetooth.c 1.233 1.234=20=20=20=20=20=20=20=20=20=20=20=20=20 rfcomm.c 1.137 1.138=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Don't initialize an extern variable. The diff of the modified file(s): --- bluetooth.c 12 Aug 2002 12:52:39 -0000 1.233 +++ bluetooth.c 1 Nov 2002 10:30:16 -0000 1.234 @@ -282,7 +282,7 @@ =20 #ifdef __KERNEL__ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) -extern struct wait_queue *channel_con_wq =3D NULL; +extern struct wait_queue *channel_con_wq; #else extern wait_queue_head_t channel_con_wq; #endif /* LINUX_VERSION_CODE */ --- rfcomm.c 27 Sep 2002 12:54:11 -0000 1.137 +++ rfcomm.c 1 Nov 2002 10:30:16 -0000 1.138 @@ -512,7 +512,7 @@ =20 #ifdef __KERNEL__ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) -extern struct wait_queue *channel_con_wq =3D NULL; +extern struct wait_queue *channel_con_wq; #else extern wait_queue_head_t channel_con_wq; #endif /* LINUX_VERSION_CODE */ |
From: Anders J. <and...@us...> - 2002-10-17 14:30:03
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- hci.c 1.202 1.203=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: * Set length in the command packet in hci_host_buffer.=20 The diff of the modified file(s): --- hci.c 26 Aug 2002 15:12:48 -0000 1.202 +++ hci.c 17 Oct 2002 14:29:58 -0000 1.203 @@ -3055,6 +3055,7 @@ c_pkt.data[c++] =3D (acl_num >> 8) & 0xff; c_pkt.data[c++] =3D sco_num & 0xff; c_pkt.data[c++] =3D (sco_num >> 8) & 0xff; + c_pkt.len =3D c; =20 return send_cmd_block((u8*) &c_pkt, c + CMD_HDR_LEN + HCI_HDR_LEN, DEFAUL= T_TIMEOUT); #else |
From: Mikael S. <st...@us...> - 2002-10-02 15:28:34
|
The following file was modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- btd.c 1.38 1.39=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Updated uptions for ppp-2.4 The diff of the modified file(s): --- btd.c 3 Jun 2002 10:07:28 -0000 1.38 +++ btd.c 2 Oct 2002 15:28:31 -0000 1.39 @@ -528,6 +528,7 @@ opts[i++] =3D "nopersist"; opts[i++] =3D "silent"; opts[i++] =3D "passive"; + opts[i++] =3D "local"; =20=20=20=20=20 /* Use radius ? */ if (ipset->useradius) @@ -581,12 +582,6 @@ opts[i++] =3D "ktune"; /* enables ip_forwarding */ } =20 - if (ipset->usingmasq) - { - pppd_options[i++] =3D "usingmasq"; - } - -=20=20=20=20 strcpy(local_ip, get_local_ip_address()); /* local/remote ip */ sprintf(ip_addresses, "%s:%s", local_ip, inet_ntoa(ipset->ip)); |
From: <fra...@ar...> - 2002-10-02 09:31:46
|
hi, i try since few days to access to the commit list of openbt but i get the folowing error message . ERROR Either your mailing list name was misspelled or your mailing list has not been archived yet. If this list has just been created, please retry in 2-4 hours . ________________________________________________________________________ L'integrite de ce message n'etant pas assuree sur Internet, la societe ne peut etre tenue responsable de son contenu. Si vous n'etes pas destinataire de ce message, merci de le detruire et d'avertir l'expediteur. The integrity of this message cannot be guaranteed on the Internet. The society cannot therefore be considered responsible for the contents. If you are not the intended recipient of this message, then please delete it and notify the sender. |
From: Peter K. <pk...@us...> - 2002-09-27 12:59:36
|
The following file was modified in libs/expat: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- Makefile 1.1 1.2=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Moved and renamed apps/Rules.elinux to tools/build/Rules.axis. The diff of the modified file(s): --- Makefile 18 Feb 2001 12:35:44 -0000 1.1 +++ Makefile 27 Sep 2002 12:59:03 -0000 1.2 @@ -1,4 +1,4 @@ -include $(APPS)/Rules.elinux +include $(AXIS_TOP_DIR)/tools/build/Rules.axis =20 SUBDIRS =3D xmltok xmlparse =20 |
From: Peter K. <pk...@us...> - 2002-09-27 12:59:36
|
The following file was modified in apps/bluetooth/userstack: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- Makefile 1.27 1.28=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Moved and renamed apps/Rules.elinux to tools/build/Rules.axis. The diff of the modified file(s): --- Makefile 27 Sep 2002 12:56:05 -0000 1.27 +++ Makefile 27 Sep 2002 12:59:03 -0000 1.28 @@ -1,10 +1,7 @@ # $Id$ =20 AXIS_USABLE_LIBS =3D UCLIBC -ifdef APPS -AXIS_USABLE_LIBS =3D UCLIBC -include $(APPS)/Rules.elinux -endif +-include $(AXIS_TOP_DIR)/tools/build/Rules.axis =20 PROGS =3D btduser =20 |