【问题标题】:'magic' value Device Driver'magic' 值设备驱动程序
【发布时间】:2014-01-22 23:41:28
【问题描述】:

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;
   ....
   ....

我不明白为什么叫'魔法'

【问题讨论】:

    标签: linux driver device


    【解决方案1】:

    幻数通常指识别结构、文件类型或软件的特定常量。在这种情况下,tty_driver 的幻数显然总是这样定义的:

    #define TTY_DRIVER_MAGIC        0x5402
    

    在这种情况下,幻数的一个实际用途可能是检查第一个 sizeof(int) 字节的值,并确保它们是 == 0x5402,然后再将接收到的其余字节转换为 tty_driver struct。在这方面,它还可以用于确定标头其余部分的适当字节顺序(小/大端)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-14
      • 2012-08-02
      • 2011-02-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多