Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ʵս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


Ïà¹ØÎĵµ£º

LinuxÎļþϵͳ·¢Õ¹Ñ¸ËÙ BTRFS±»¿´ºÃ

×î½üÁ½Ä꣬ÎļþϵͳµÃµ½Á˺ܴóµÄ·¢Õ¹¡£
SunÓпªÔ´µÄZFSÒÔ¼°ÊÕ¹ºµÄLustreÎļþϵͳ¡£Quantum¡¢Panasas¡¢ IBM¡¢»ÝÆÕ¡¢NetAppºÍRed HatÒ²¶¼ÔöÇ¿ÁËÎļþϵͳ¿ª·¢Á¦¶È¡£NFS£¨ÍøÂçÎļþϵͳ£©ÕýÔÚ¾­Àú´óµÄ±ä¶¯£¬Ö÷Òª´ú±í¾ÍÊÇpNFS£¨²¢ÐÐÍøÂçÎļþϵͳ£©¡£ºÁ²»Ææ¹ÖµÄÊÇ£¬ËùÓÐÕâЩ¿ª·¢Ðж¯´Ùʹ¿ªÔ´ÉçÇøÍƳöÕë¶ÔLinuxµÄ¸ü¸ßÐÔÄܵÄÎļþÏµÍ ......

LinuxÏ»ñÈ¡CPUID¡¢Ó²ÅÌÐòÁкÅÓëMACµØÖ·


 
ÔںܶàϵͳÈí¼þµÄ¿ª·¢ÖУ¬ÐèҪʹÓÃһЩϵͳµÄΨһÐÔÐÅÏ¢¡£ËùÒÔ£¬µÃµ½Ö÷»úµÄCPUID¡¢Ó²ÅÌÐòÁкż°Íø¿¨µÄMACµØÖ·£¬¾Í³É¸öÒ»¼þºÜÖØÒªµÄÓ¦Óá£
±¾È˾­¹ýÒ»·¬google¼´×Ô¼ºµÄ×êÑУ¬»ù±¾ÉÏʵÏÖÁËÕ⼸¸ö¹¦ÄÜ¡£ÐèÒªµÄ×¼±¸ÖªÊ¶ÓУº
GCCµÄǶÈë»ã±à£¬¾ßÌåµÄGCCǶÈë»ã±à֪ʶ£¬Çë²Î¿¼Ïà¹ØÊÖ²á
ioctlϵͳµ÷Ó㬾ßÌåµÄµ÷Ó÷½·¨ ......

£ÛתÌù£ÝLinuxÎļþ²éÕÒÃüÁîfind,xargsÏêÊö

×ܽ᣺
zhy2111314
À´×Ô£º
LinuxSir.Org
ÕûÀí£º
±±ÄÏÄϱ±
ͻ񻣼
±¾ÎÄÊÇfind ÃüÁîµÄÏêϸ˵Ã÷£¬¿É¹óµÄÊÇÕë¶Ô²ÎÊý¾ÙÁ˺ܶàµÄʵÀý£¬´óÁ¿µÄÀýÖ¤£¬ÈóõѧÕ߸üΪÈÝÒ×Àí½â£»±¾ÎÄÊÇzhyflyÐÖÌùÔÚÂÛ̳ÖУ»ÎÒ¶Ô±¾ÎĽøÐÐÁËÔÙ´ÎÕûÀí£¬Îª·½±ã´ó¼ÒÔĶÁ£»
Ŀ¼
°æȨÉùÃ÷
Ç°ÑÔ£º¹ØÓÚfindÃüÁî
Ò»¡¢find ÃüÁî¸ñʽ
1¡¢findÃüÁîµÄÒ» ......

linuxÂß¼­¾í¹ÜÀí (LVM)


ʲôÊÇ LVM
LVM ÊÇÂß¼­Å̾í¹ÜÀí£¨Logical Volume Manager£©µÄ¼ò³Æ£¬ËüÊÇ Linux »·¾³Ï¶ԴÅÅÌ·ÖÇø½øÐйÜÀíµÄÒ»ÖÖ»úÖÆ£¬LVM
Êǽ¨Á¢ÔÚÓ²Å̺ͷÖÇøÖ®ÉϵÄÒ»¸öÂß¼­²ã£¬À´ÎªÎļþϵͳÆÁ±Îϲã´ÅÅÌ·ÖÇø²¼¾Ö£¬´Ó¶øÌá¸ß´ÅÅÌ·ÖÇø¹ÜÀíµÄÁé»îÐÔ¡£Í¨¹ý LVM
ϵͳ¹ÜÀíÔ±¿ÉÒÔÇáËɹÜÀí´ÅÅÌ·ÖÇø£¬È磺½«Èô¸É¸ö´ÅÅÌ·ÖÇøÁ¬½ÓΪһ¸öÕû¿éµÄ¾í×é ......

ʵսLinux Bluetooth±à³Ì£¨¶þ£© BlueZ¼ò½é

LinuxÏÂBluetoothЭÒéÕ»µÄʵÏÖ. LinuxÏ¿ª·ÅµÄÀ¶ÑÀЭÒéÕ»Ö÷Òª°üÀ¨IBM¹«Ë¾µÄBlueDrekar£¬Nokia¹«Ë¾µÄAffix, Axis¹«Ë¾µÄOpenBTºÍ¹Ù·½Ð­ÒéÕ»BlueZ¡£ÎÒÃÇÖ÷ÒªÃæ¶ÔBluezÀ´Ì½ÌÖ¡£
BlueZ»ù´¡´úÂë¾ùÊÇÓÉMaxim KrasnyanskyÍê³ÉµÄ¡£°üÀ¨£ºHCI£¬L2CAP£¬RFCOMMºÍ»ù±¾socketµÄʵÏÖ¡£Ëû¾ÍÖ°ÓÚQualcomm(¸ßͨ)¡£Marcel Holtmann¿ª·¢²ãµÄÐ­Ò ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ