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

dzÎölinuxϼüÅÌÉ豸¹¤×÷ºÍ×¢²áÁ÷³Ì

dzÎölinuxϼüÅÌÉ豸¹¤×÷ºÍ×¢²áÁ÷³Ì
¡¾Ç³ÎölinuxÏÂÊó±êÇý¶¯µÄʵÏÖ¡¿
 input_init()=>
=>
class_register(&input_class);×¢²áinputÀà
input_proc_init();´´½¨procϵÄĿ¼ºÍÎļþ
register_chrdev(INPUT_MAJOR, "input", &input_fops);×¢²áÇý¶¯³ÌÐòµ½cdev_mapÉÏ,ÒÔ´ýÇý¶¯É豸.
drivers\input\keyboard\pxa3xx_keypad.cΪÎÒÃǵÄkeyboardÉ豸,
pxa3xx_keypad_probe=>
request_irq(IRQ_ENHROT, &enhanced_rotary_interrupt,
            IRQF_DISABLED, "Enhanced Rotary", (void *)keypad);×¢²á¿ì½Ý¼üÖжÏ
request_irq(IRQ_KEYPAD, pxa3xx_keypad_interrupt, IRQF_DISABLED,pdev->name, keypad);×¢²áÖжÏ
static irqreturn_t pxa3xx_keypad_interrupt(int irq, void *dev_id)
{
    struct pxa3xx_keypad *keypad = dev_id;
    uint32_t kpc = keypad_readl(KPC);
    if (kpc & KPC_MI)
        pxa3xx_keypad_scan_matrix(keypad);
    if (kpc & KPC_DI)
        pxa3xx_keypad_scan_direct(keypad);
    return IRQ_HANDLED;
}
ÔÚirqÖÐÈç¹û¶Áµ½ÁËkey,ÄÇô»áÖ±½Óµ÷ÓÃ
input_report_key(keypad->input_dev,lookup_matrix_keycode(keypad, row, col),
                new_state[col] & (1 << row));
static inline unsigned int lookup_matrix_keycode(
        struct pxa3xx_keypad *keypad, int row, int col)
{
    return keypad->matrix_keycodes[(row << 3) + col];
}
input_report_key(struct input_dev *dev, unsigned int code, int value)
devΪinput_devÉ豸,ÎÒÃǵÄ4*4¼üÅÌ
codeΪ±ê×¼PC¼üÅÌÂëÖµ
valueΪ°´¼ü¶¯×÷,Ϊ1±íʾ¼üÅ̰´ÏÂ,Ϊ0±íʾ°´¼ü̧Æð
static inline void input_report_key(struct input_dev *dev, unsigned int code, int value)
{
    input_event(dev, EV_KEY, code, !!value);
}
void inp


Ïà¹ØÎĵµ£º

ÓÃLinuxÏÂPerl½Å±¾Á¬½ÓSQLServer

×¼±¸¹¤×÷:
¡¡¡¡Óõ½µÄperl À©Õ¹×é¼þ(modules)ÔÚÉÏÆªÌù³ö.( win32::odbc Ä£¿é
)ÏÂÔØ×é¼þºó°´ÕÕReadmeÎļþ°²×°µ¹ÏìӦĿ¼.ÅäÖúÃÏàÓ¦µÄodbcÊý¾ÝÔ´.
¡¡¡¡
¡¡¡¡³ÌÐòʵÏÖ:
¡¡¡¡Ê¹ÓÃ
¡¡¡¡use
Win32::ODBC;
¡¡¡¡
¡¡¡¡Óï¾ä°üº¬Ó¦Ê¹ÓõÄÄ£¿éÊÇwin32::odbc,д³öÊý¾Ý¿â
Á¬½Ó×Ö·û´®
¡¡¡¡
¡¡¡¡$DSN = "DSN =
My DSN ......

Linuxϵͳ¿ÉÐ¶ÔØÄÚºËÄ£¿éÍêȫָÄÏ_ÉÏ

¼ò½é
½« Linux²Ù×÷ϵͳÓÃÓÚ·þÎñÆ÷ÔÚÏÖÔÚÊÇÔ½À´Ô½ÆÕ±éÁË¡£Òò´Ë,ÈëÇÖLinuxÔÚ½ñÌìÒ²±äµÃÔ½À´Ô½ÓÐȤ.Ŀǰ×îºÃµÄ¹¥»÷LinuxµÄ¼¼Êõ¾ÍÊÇÐÞ¸ÄÄں˴úÂë¡£ÓÉ ÓÚÒ»ÖÖ½Ð×ö¿ÉÐ¶ÔØÄÚºË(LoadableKernelModules(LKMs))µÄ»úÖÆ,ÎÒÃÇÓпÉÄܱàдÔÚÄں˼¶±ðÔËÐеĴúÂë,¶øÕâÖÖ´úÂë¿ÉÒÔÔÊÐíÎÒÃÇ ½Ó´¥µ½²Ù×÷ϵͳÖзdz£Ãô¸ÐµÄ²¿·Ö¡£
ÔÚ¹ýÈ¥ÓÐһЩºÜº ......

Linuxϵͳ¿ÉÐ¶ÔØÄÚºËÄ£¿éÍêȫָÄÏ_ÖÐ

µÚ¶þ²¿·Ö ½¥Èë¼Ñ¾³
2.1 ÈçºÎ½Ø»ñϵͳµ÷ÓÃ
ÏÖÔÚÎÒÃÇ¿ªÊ¼ÈëÇÖLKM£¬ÔÚÕý³£Çé¿öÏÂLKMsÊÇÓÃÀ´À©Õ¹Äں˵Ä(ÌØ±ðÊÇÄÇЩӲ¼þÇý¶¯)¡£È»¶øÎÒÃǵđHacks’×öһЩ²»Ò»ÑùµÄÊÂÇé¡£ËûÃÇ»á½Ø»ñϵͳµ÷Óò¢ÇÒ¸ü¸ÄËûÃÇ£¬ÎªÁ˸ıäϵͳijЩÃüÁîµÄÏìÓ¦·½Ê½¡£
ÏÂÃæµÄÕâ¸öÄ£¿é¿ÉÒÔʹµÃÈκÎÓû§¶¼²»ÄÜ´´½¨Ä¿Â¼¡£ÕâÖ»²»¹ýÊÇÎÒÃÇËæºó·½·¨µ ......

Linuxϵͳ¿ÉÐ¶ÔØÄÚºËÄ£¿éÍêȫָÄÏ_ÏÂ

µÚËIJ¿·Ö һЩ¸üºÃµÄÏë·¨
4.1 »÷°Üϵͳ¹ÜÀíÔ±µÄLKMµÄ·½·¨
ÕâÒ»²¿·Ö»á¸øÎÒÃǶԸ¶Ò»Ð©Ê¹ÓÃLKM±£»¤Äں˵ĶàÒÉ£¨ºÃµÄ£©µÄ¹ÜÀíÔ±µÄ·½·¨¡£ÔÚ½âÊÍÁËËùÓÐϵͳ¹ÜÀíÔ±Äܹ»Ê¹Óõķ½·¨Ö®ºó£¬ºÜÄÑΪÎÒÃÇ£¨hackers£©ÕÒµ½Ò»¸ö¸üºÃµÄ°ì·¨¡£ÎÒÃÇÐèÒªÀ뿪LKMÒ»»á¶ù£¬À´Ñ°ÕÒ»÷°ÜÕâЩÀ§Äѵı£»¤µÄ·½·¨¡£
¼Ù¶¨Ò»¸öϵͳ¿ÉÒÔ±»¹ÜÀíÔ±°²×°ÉÏÒ»¸öÊ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ