ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬IdentifierµÈ¡£
ÒÔÏÂÊÇÒ»¸ö·¢ËÍsignaling CommandÒÔ¼°½ÓÊÕResponseµÄ¼òµ¥Àý×Ó£º
int main(int argc, char** argv)
{
int l2_sck = 0;
int iRel = 0;
struct sockaddr_l2 local_l2_addr;
struct sockaddr_l2 remote_l2_addr;
char str[24] ={0};
int len = 0;
int size = 50;
char* send_buf;
char* recv_buf;
int i = 0;
int id = 1; //²»ÒªÎª0
send_buf = malloc(L2CAP_CMD_HDR_SIZE + size);
recv_buf = malloc(L2CAP_CMD_HDR_SIZE + size);
if(argc < 2)
{
printf("\n%s <bdaddr>\n", argv[0]);
exit(0);
}
// create l2cap raw socket
l2_sck = socket(PF_BLUETOOTH, SOCK_RAW, BTPROTO_L2CAP); //´´½¨L2CAP protocolµÄRAW Packet
if(l2_sck < 0)
{
perror("\nsocket:");
return -1;
}
//bind
memset(&local_l2_addr, 0, sizeof(struct sockaddr_l2));
local_l2_addr.l2_family = PF_BLUETOOTH;
bacpy(&local_l2_addr.l2_bdaddr , BDADDR_ANY);
iRel = bind(l2_sck, (struct sockaddr*) &local_l2_addr, sizeof(struct sockaddr_l2));
if(iRel < 0)
{
perror("\nbind()");
exit(0);
}
//connect
memset(&remote_l2_addr, 0 , sizeof(struct sockaddr_l2));
remote_l2_addr.l2_family = PF_BLUETOOTH;
//printf("\nConnect to %s\n", argv[1]);
str2ba(argv[1], &remote_l2_addr.l2_bdaddr);
iRel = connect(l2_sck, (struct sockaddr*)&remote_l2_addr, sizeof(struct sockaddr_l2));
if(iRel < 0)
{
perror("\nconnect()");
exit(0);
}
//get local bda
Ïà¹ØÎĵµ£º
1. wrote driver function file(s) .
2. stored in the proper folder, eg: character driver stored in folder drivers/char/
3. modified Makefile in this folder(eg: drivers/char/)
-added configuration at somewhere: type like that "obj-$(CONFIG_TESTD ......
×î½üÁ½Ä꣬ÎļþϵͳµÃµ½Á˺ܴóµÄ·¢Õ¹¡£
SunÓпªÔ´µÄZFSÒÔ¼°ÊÕ¹ºµÄLustreÎļþϵͳ¡£Quantum¡¢Panasas¡¢ IBM¡¢»ÝÆÕ¡¢NetAppºÍRed HatÒ²¶¼ÔöÇ¿ÁËÎļþϵͳ¿ª·¢Á¦¶È¡£NFS£¨ÍøÂçÎļþϵͳ£©ÕýÔÚ¾Àú´óµÄ±ä¶¯£¬Ö÷Òª´ú±í¾ÍÊÇpNFS£¨²¢ÐÐÍøÂçÎļþϵͳ£©¡£ºÁ²»Ææ¹ÖµÄÊÇ£¬ËùÓÐÕâЩ¿ª·¢Ðж¯´Ùʹ¿ªÔ´ÉçÇøÍÆ³öÕë¶ÔLinuxµÄ¸ü¸ßÐÔÄܵÄÎļþÏµÍ ......
Linux²»ÐèÒª´ÅÅÌË鯬ÕûÀí¡£
ÒÔÏÂÒý×Ôlinux¹Ù·½ÍøÕ¾¶ÔË鯬µÄ½â˵£ºÀ´Ô´ÓÚ
http://www.linux.org/docs/ldp/howto/Partition/appendix.html#fragmentation
ÒýÓÃ:
10.4. Some facts about file systems and fragmentation
Disk
space is administered by the operating system in units of ......
Õâ¸öÎÊÌâ¸ãÁ˺ܳ¤Ê±¼ä£¬Ò²ÔÚÍøÉϲéÁ˺ܶණÎ÷£¬ÏÖÔÚÂýÂýµÄÀ´ÕûÀíÒ»ÏÂ
vmware°²×°ºÃÒԺ󣬻á×Ô¶¯Ìí¼ÓÁ½ÕÅÍø¿¨£¨vmnet1ºÍvmnet8£©£¬Õû¸ö»úÆ÷µÄ½á¹¹¾Í¿ÉÒÔ³éÏó³É£ºÐéÄâ»úϵͳ£¨ÐéÄâÍø¿¨vmnet0)¨D¨D£¨vmnet1 vmnet8£©¨D¨Dʵ¼Êϵͳ(Íø¿¨)¡£
1.VmwareµÄÍø¿¨ÉèÖÃ
(1)Bridged£¨ÇŽӣ©·½Ê½
&n ......
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......