LinuxÄں˵ÄÁ´±í
×Ô2.1Äں˿ª·¢°æÒÔÀ´£¬linux¾ÍÒýÈëÁËÕýʽµÄÁ´±íʵÏÖ,²ÉÓõÄÊÇË«ÏòÑ»·Á´±í¡£Òò´Ë£¬ÔÚ¿ª·¢¹ý³ÌÖÐÓ¦¸ÃʹÓÃÕâЩÒÑÓеĽӿڡ£
1. ¶¨Òå
Á´±í½á¹¹Ì嶨ÒåÔÚÎļþ<linux/list.h>ÖС£
struct list£ßhead {
struct list_head *next;
struct list_head *prev;
};
ʹÓÃʱͨ³£ÐèÒª°ÑËüǶÈëµ½Äã×Ô¼ºµÄ½á¹¹ÌåÖС£
Àý£º
struct my_struct {
struct list_head list;
unsigned long dog;
void * cat;
};
ÏÂÃæ¸ø³öһЩ½Ó¿Ú£º
struct my_struct *p;
³õʼ»¯£º
/*¶¯Ì¬³õʼ»¯*/
p->dog = 0;
p->cat = NULL;
INIT_LIST_HEAD(&p->list);
/*¾²Ì¬³õʼ»¯*/
struct my_struct mine = {
.list = LIST_HDAD_INIT(mine.list);
.dog = 0;
.cat = NULL;
};
/*Ö±½ÓÉùÃ÷²¢³õʼ»¯*/
static LIST_HEAD(fox); /*ÉùÃ÷²¢³õʼ»¯Ò»¸öÃûΪfoxµÄ¾²Ì¬Á´±í*/
2. »ù±¾²Ù×÷
¸øÁ´±íÔö¼ÓÒ»¸ö½Úµã£º
list_add(struct list_head *new, struct list_head *head);
/*¸Ãº¯ÊýÏòÖ¸¶¨Á´±íµÄhead½Úµãºó²åÈënew½Úµã¡£*/
list_add_tail(struct list_head *new, struct list_head *head);
/*¸Ãº¯ÊýÏòÖ¸¶¨Á´±íµÄhead½Úµãǰ²åÈënew½Úµã¡£*/
´ÓÁ´±íÖÐɾ³ýÒ»¸ö½Úµã£º
list_del(struct list_head *entry);
/*¸Ãº¯Êý½ö½öÊǽ«entryÔªËØ´ÓÁ´±íÖÐÒÆ×ß¡£*/
list_del_init(struct list_head *entry);
/*¸Ãº¯Êý½«entryÔªËØ´ÓÁ´±íÖÐÒÆ×ß²¢Ôٴγ
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
ÔÎÄÍøÖ·£ºhttp://blog.chinaunix.net/u1/51562/showart_1341707.html
Ò»:ǰÑÔ
RCU»úÖÆ³öÏֵıȽÏÔç,Ö»ÊÇÔÚlinux kernelÖÐÒ»Ö±µ½2.5°æ±¾µÄʱºò²Å±»²ÉÓÃ.¹ØÓÚRCU»úÖÆ,ÕâÀï¾Í²»×ö¹ý¶àµÄ½éÉÜÁË,ÍøÉÏÓкܶàÓйØRCU½éÉܺÍʹÓõÄÎĵµ.Çë×ÔÐвéÔÄ.±¾ÎÄÖ÷ÒªÊÇ´Ólinux kernelÔ´´úÂëµÄ½Ç¶È.À´·ÖÎöRCUµÄʵÏÖ.
ÔÚÌÖÂÛRCUµÄʵ ......
×î½ü£¬ÎÒÔÚѧϰLinux£¬ÏÂÃæÊÇһЩ±Ê¼Ç¡£
ʹÓõçÄÔµÄʱºò£¬¾³£ÐèÒª²éÕÒÎļþ¡£
ÔÚLinuxÖУ¬Óкܶ෽·¨¿ÉÒÔ×öµ½ÕâÒ»µã¡£¹úÍâÍøÕ¾LinuxHaxor×ܽáÁËÎåÌõÃüÁÄã¿ÉÒÔ¿´¿´×Ô¼ºÖªµÀ¼¸Ìõ¡£´ó¶àÊý³ÌÐòÔ±£¬¿ÉÄܾ³£Ê¹ÓÃÆäÖеÄ2µ½3Ìõ£¬¶ÔÕâ5ÌõÃüÁî¶¼ºÜÊìϤµÄÈËÓ¦¸ÃÊDz»¶àµÄ¡£
1. find
findÊÇ×î³£¼ûºÍ×îÇ¿´óµÄ²éÕÒÃüÁÄã¿ÉÒÔÓà ......