linuxÈçºÎ¶¯Ì¬¼ÓÔØ¶¯Ì¬¿â
1.¶¨Ò庯ÊýÖ¸ÕëÀàÐÍ
Òª¸ù¾Ý¶¯Ì¬¿âÖÐҩʹÓõĺ¯Êý£¬ÔÚÍâÃæ¶¨ÒåͬÑùÀàÐ͵ĺ¯ÊýÖ¸ÕëÀàÐÍ£¬¹©ÒÔºóʹÓÃ
typedef unsigned long(*POpenDev)(IN unsigned long int);
2. ¶¨Ò庯ÊýÖ¸Õë
POpenDev OpenDev;
3.¶¯Ì¬¼ÓÔØ¶¯Ì¬¿â
HANDLE sohandle = NULL;
sohandle = dlopen("libNiKeyDll.so", RTLD_NOW);
if(NULL != sohandle)
{
fprintf(stderr, "%s\n", dlerror());
}
4.»ñÈ¡º¯ÊýµØÖ·
OPenDev = (POpenDev)dlsym(sohandle, "Opendev");
Opendev Ϊ¶¯Ì¬¿âÄڵĺ¯ÊýÃû£¬ OPenDevΪ»òµÃµÄOpendevµÄº¯ÊýµØÖ·£¬ÒÔºó¿ÉÒÔͨ¹ýOPenDevʹÓÃOpendevº¯Êý¡£
Ïà¹ØÎĵµ£º
opendir£¨´ò¿ªÄ¿Â¼£©
Ïà¹Øº¯Êý
open£¬readdir£¬closedir£¬rewinddir£¬seekdir£¬telldir£¬scandir
±íÍ·Îļþ
#include<sys/types.h>
#include<dirent.h>
¶¨Ò庯Êý
DIR * opendir(const char * name);
º¯Êý˵Ã÷
opendir()ÓÃÀ´´ò¿ª²ÎÊýnameÖ¸¶¨µÄĿ¼£¬²¢·µ»ØDIR*ÐÎ̬µÄĿ¼Á÷£¬ºÍopen()ÀàËÆ£¬½ÓÏ ......
Linux kernel ¹ØÓÚkeyboard²¿·Ö
keyboard.c ÓÃÓÚ´¦ÀíºÍ¼üÅÌÏà¹ØµÄinput_handler¡£ÆäÖаüÀ¨ºóÐøµÄ¼üÂëת»»ºÍÊä³ö
atkbd.c ³£ÓõļüÅ̲¼¾Ö£¬ÓÃÓÚ»ñµÃɨÃèÂ룬²¢½«Æä·¢Ë͵½input_handler Á´±íÖÐ
struct input_handler kbd_handler; ¼´Îªinput_handler Á´±íÖеÄÒ»¸öhandler
Òªhook¼üÅÌ»òÕ߯äËûinput²ãϵÄÉ豸ÐÅÏ¢£¬¾ ......
Ê×ÏÈ£¬ÄÚ´æµÄ´óСÔÚlinuxÄÚºËÖеĻñÖª·½·¨
1.ͨ¹ýbootloader µÄ tag mem´«Èë¡£
Setup.c Öеĺ¯ÊýÈçÏ£º
static int __init parse_tag_mem32(const struct tag *tag)
{
if (meminfo.nr_banks >= NR_BANKS) {
printk(KERN_WARNING
"Ignoring memory bank 0x%08x size %dKB\n",
tag->u.mem.start, tag->u.mem ......
Yum ÊÇyellowdog updater modifiedµÄËõд¡£yum µÄÀíÄîÊÇʹÓÃÒ»¸öÖÐÐIJֿâ(repository)¹ÜÀíÒ»²¿·ÖÉõÖÁÒ»¸ö distribution µÄÓ¦ÓóÌÐòÏ໥¹ØÏµ£¬¸ù¾Ý¼ÆËã³öÀ´µÄÈí¼þÒÀÀµ¹ØÏµ½øÐÐÏà¹ØµÄÉý¼¶¡¢°²×°¡¢É¾³ýµÈµÈ²Ù×÷£¬¼õÉÙÁË Linux Óû§Ò»Ö±Í·Í´µÄ dependencies µÄÎÊÌ ......
¹¦ÄÜ˵Ã÷£ºÇãµ¹ÍøÂç´«ÊäÊý¾Ý¡£
Óï¡¡¡¡·¨£ºtcpdump [-adeflnNOpqStvx][-c<Êý¾Ý°üÊýÄ¿>][-dd][-ddd][-F<±í´ïÎļþ>][-i<ÍøÂç½çÃæ>][-r<Êý¾Ý°üÎļþ>][-s<Êý¾Ý°ü´óС>][-tt][-T<Êý¾Ý°üÀàÐÍ>][-vv][-w<Êý¾Ý°üÎļþ>][Êä³öÊý¾ÝÀ¸Î»]
²¹³ä˵Ã÷£ºÖ´ÐÐtcpdumpÖ¸Áî¿ÉÁгö¾¹ýÖ¸¶¨ÍøÂç½çÃæµ ......