2014-01-22 130 views
0

是什麼tty_driver struct「魔力」值的設備驅動程序

struct tty_driver { 
    int  magic;   /* magic number for this structure */ 
    struct kref kref;  /* Reference management */ 
    struct cdev cdev; 
    struct module *owner; 
    const char  *driver_name; 
    .... 
    .... 

的「魔力」的值,我不明白爲什麼叫「魔力」

回答

0

魔術數字通常是指能夠確定具體的常量結構,文件類型或軟件。在這種情況下,的tty_driver的神奇數字顯然總是這樣定義的:

#define TTY_DRIVER_MAGIC  0x5402 

在這樣的背景下的一個實際使用的幻數的可能是檢查的第一個sizeof(int)字節的值和前確保他們== 0x5402將其餘收到的字節轉換爲tty_driver struct。在這方面,它也可能用於確定頭部其餘部分的適當字節順序(小/大端)。