当前位置:首页 > 嵌入式 > 嵌入式软件

一.kobject管理

struct kobject {

const char *name;

struct list_head entry;

struct kobject *parent;

struct kset *kset;

struct kobj_type *ktype;

struct sysfs_dirent *sd;

struct kref kref;

unsigned int state_initialized:1;

unsigned int state_in_sysfs:1;

unsigned int state_add_uevent_sent:1;

unsigned int state_remove_uevent_sent:1;

unsigned int uevent_suppress:1;

};

Kobject不是通过指针与其他数据结构连接起来的,而必须直接嵌入。这样做通过管理kobject就可以达到包含kobject对象的管理。

例如:

Struct sample

{

Struct kobject kobj;

}

1.Name是对象的文本名称。可利用sysfs导出到用户空间。Sysfs是一个虚拟文件系统,可以将系统的各种属性导出到用户空间。Sd用于支持内核对象与sysfs之间的关联。

2.kref类型为struct kref,用于简化引用计数的管理。

3.entry是一个标准的链表元素,用于将若干kobject放在一个链表中

4.kset:将对象与其他对象放置在一个集合,

5.parent:是一个指向父对象的指针,可用于在kobject之间建立层次结构。

6.ktype提供了包含kobject数据结构的更多详细信息。



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭