LinuxÄÚºËÔ´Âë·ÖÎö
LinuxÄÚºËÔ´Âë·ÖÎö-Á´±í´úÂë·ÖÎö
·ÖÎöÈË£ºÓàÐñ
·ÖÎöʱ¼ä£º2005Äê11ÔÂ17ÈÕÐÇÆÚËÄ 11:40:10 AM
Óê ζȣº10-11¶È
±àºÅ£º1-4 Àà±ð£º×¼±¸¹¤×÷
Email£ºyuxu9710108@163.com
ʱ´ú±³¾°£º¿ªÊ¼ÔÚwww.linuxforum.net LinuxÄں˼¼ÊõÂÛ̳ÉÏÃæ·¢Ìù£¬ÔÚÍøÓѵİïæÏ£¬
½â¾öÁËһЩÎÊÌâ¡£
°æÈ¨ÉùÃ÷£º°æÈ¨±£Áô¡£±¾ÎÄÓÃ×÷ÆäËûÓÃ;µ±¾×÷Õß±¾ÈËͬÒâ,×ªÔØÇë×¢Ã÷×÷ÕßÐÕÃû
All Rights Reserved. If for other use,must Agreed By the writer.Citing this
text,please claim the writer's name.
Copyright (C) 2005 YuXu
**************************************************
-------------Ë«ÏòÑ»·Á´±í---------------------------
À´Ô´ÓÚ£ºlist.h
Éè¼ÆË¼Ï룺¾¡¿ÉÄܵĴúÂëÖØÓ㬻¯´ó¶ÑµÄÁ´±íÉè¼ÆÎªµ¥¸öÁ´±í¡£
Á´±íµÄ¹¹Ô죺Èç¹ûÐèÒª¹¹ÔìijÀà¶ÔÏóµÄÌØ¶¨ÁÐ±í£¬ÔòÔÚÆä½á¹¹Öж¨ÒåÒ»¸öÀàÐÍΪlist_
headÖ¸ÕëµÄ³ÉÔ±£¬Í¨¹ýÕâ¸ö³ÉÔ±½«ÕâÀà¶ÔÏóÁ¬½ÓÆðÀ´£¬ÐγÉËùÐèÁÐ±í£¬²¢Í¨¹ýͨÓÃÁ´±íº¯
Êý¶ÔÆä½øÐвÙ×÷¡£ÆäÓŵãÊÇÖ»Ðè±àдͨÓÃÁ´±íº¯Êý£¬¼´¿É¹¹ÔìºÍ²Ù×÷²»Í¬¶ÔÏóµÄÁÐ±í£¬¶ø
ÎÞÐèΪÿÀà¶ÔÏóµÄÿÖÖÁбí±àдרÓú¯Êý£¬ÊµÏÖÁË´úÂëµÄÖØÓá£
Èç¹ûÏë¶ÔijÖÖÀàÐÍ´´½¨Á´±í£¬¾Í°ÑÒ»¸ölist_headÀàÐ͵ıäÁ¿Ç¶Èëµ½¸ÃÀàÐÍÖУ¬ÓÃlist_
headÖеijÉÔ±ºÍÏà¶ÔÓ¦µÄ´¦Àíº¯ÊýÀ´¶ÔÁ´±í½øÐбéÀú¡£Èç¹ûÏëµÃµ½ÏàÓ¦µÄ½á¹¹µÄÖ¸Õ룬ʹ
ÓÃlist_entry¿ÉÒÔËã³öÀ´¡£
-------------·ÀÖ¹ÖØ¸´°üº¬Í¬Ò»¸öÍ·Îļþ---------------
#ifndef _LINUX_LIST_H
#define _LINUX_LIST_H
...
#endif
ÓÃÓÚ·ÀÖ¹ÖØ¸´°üº¬Í¬Ò»¸ölist.hÍ·Îļþ
-----------struct list_head{}¼°³õʼ»¯ºê---------
struct list_head
{
struct list_head *next, *prev;
};
list_head´Ó×ÖÃæÉÏÀí½â£¬ºÃÏñÊÇÍ·½áµãµÄÒâ˼¡£µ«´ÓÕâÀïµÄ´úÂëÀ´¿´È´ÊÇÆÕͨ½áµãµÄ½á¹¹
Ìå¡£ÔÚºóÃæµÄ´úÂëÖн«list_headµ±³ÉÆÕͨµÄ½áµãÀ´´¦Àí¡£
--LIST_HEAD_INIT()--LIST_HEAD()--INIT_LIST_HEAD()------
#define LIST_HEAD_INIT(name) { &(name), &(name) }
#define LIST_HEAD(name) \
struct list_head name = LIST_HEAD_INIT(name)
·ÖÎö£ºnameµ±Îª½á¹¹Ìåstruct list_head{}µÄÒ»¸ö½á¹¹Ìå±äÁ¿£¬&(name)Ϊ¸Ã½á¹¹Ìå±äÁ¿µÄ
µØÖ·¡£ÓÃname½á¹¹Ìå±äÁ¿µÄʼµØÖ·½«¸Ã½á¹¹Ìå±äÁ¿½øÐгõʼ»¯¡£
#define INIT_LIST_HEAD(ptr) do { \
(ptr)->next = (ptr); (ptr)->prev = (ptr); \
} while (0)
1.ptrΪһ¸ö½á¹¹ÌåµÄÖ¸Õ룬¶ønameΪһ¸ö½á
Ïà¹ØÎĵµ£º
LinuxÁ÷Á¿¿ØÖÆ1--ÅŶӹæÔò
2008-07-31 15:26
Linux²Ù×÷ϵͳÖеÄÁ÷Á¿¿ØÖÆ¿ò¼Ü´´½¨ÁËÒ»¸öͨÓû·¾³£¬Ëü¼¯³ÉÁËËùÓÐÓÃÓÚÏÞÖÆºÍÁ÷Á¿ÕûÐεĿÉÒÔ»¥ÁªµÄ²»Í¬ÔªËØ¡£ÔÚʵ¼Ê²Ù×÷ÖÐÕâÐ©ÔªËØÉõÖÁ¿ÉÒÔ×÷Ϊһ¸öÄ£¿é¶¯Ì¬µØ¼ÓÔØºÍÐ¶ÔØ¡£
TC£¨Traffic Control£©¹¤¾ßÌṩÁËÒ»¸öÃüÁîÐÐÓû§½Ó¿ÚÀ´ÅäÖÃLinuxÁ÷Á¿¿ØÖÆ¡£¸Ã¹¤¾ßÈÃÓû§¿ÉÒÔÉ ......
£¨ËùÓеÄ#²»ÊÇÒªÊäÈëµÄÃüÁÊǶÔĿ¼µÄÊ¡ÂÔ£¬Îļþ¼ÐÒªºÍ¶ÔÓ¦µÄĿ¼Ïàͬ Èç ÄãµÄÎļþ¼Ð·ÅÔÚÁËdowload Ï£¬¾ÍÒª»Øµ½dowloadĿ¼Ï£¬Ò»°ãÎļþ¼ÐµÄÃüÃû²»ÒªÓúºÓ
¶ÔÓÚ¸Õ¸Õ½Ó´¥LinuxµÄÈËÀ´Ëµ£¬Ò»¶¨»á¸øLinuxÏÂÒ»´ó¶Ñ¸÷ʽ¸÷ÑùµÄÎļþÃû¸ø¸ãÔΡ£±ð
¸ö²»Ëµ£¬µ¥µ¥¾ÍѹËõÎļþΪÀý£¬ÎÒÃÇÖªµÀÔÚWindowsÏÂ×î³£¼ûµÄѹËõÎļþ¾ÍÖ ......
LinuxÖ§³Ö¶àÖÖÎļþϵͳ£¬°üÀ¨ext2¡¢ext3¡¢vfat¡¢ntfs¡¢iso9660¡¢jffs¡¢romfsºÍnfsµÈ£¬ÎªÁ˶Ը÷ÀàÎļþϵͳ½øÐÐͳһ¹ÜÀí£¬LinuxÒýÈëÁËÐéÄâÎļþϵͳVFS(Virtual File System)£¬Îª¸÷ÀàÎļþϵͳÌṩһ¸öͳһµÄ²Ù×÷½çÃæºÍÓ¦Óñà³Ì½Ó¿Ú¡£
LinuxϵÄÎļþϵͳ½á¹¹ÈçÏ£º
LinuxÆô¶¯Ê±£¬ ......
linuxµÄÈȲå°ÎÊÇGreg Kroah-Hartmanά»¤£¬ËùÒÔÕâÊÇÆª¾µäÎÄÕ¡£Èç¹ûÄãÓÐUSB»òÕßPCIÉ豸Çý¶¯¿ª·¢»ù´¡£¬Ò»¶Á¾Í¿ÉÒÔÀí½â¡£
Hot-pluggable devices have been created to solve a number of user needs. On laptop computers, PCMCIA devices were designed to allow the user to swap cards while the computer was sti ......
Á´±íµÄɾ³ý
83/*
84 * Delete a list entry by making the prev/next entries
85 * point to each other.
86 *
87 * This is only for internal list manipulation where we know
88 * the prev/next entries already!
89 */
90static inline void __list_del(struct list_head * prev, struct list_head * next)
......