|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
内核提供了许多与kobject结构相关的函数,如下:
$ O0 g+ |0 U+ R' ]9 n4 q8 c5 @3 G: C4 F9 |
/ P4 P) X; M; f1 ?% L; g s( g
- // kobject初始化函数
- void kobject_init(struct kobject * kobj);
- // 设置指定kobject的名称
- int kobject_set_name(struct kobject *kobj, const char *format, ...);
- // 将kobj 对象的引用计数加,同时返回该对象的指针
- struct kobject *kobject_get(struct kobject *kobj);
- // 将kobj对象的引用计数减,如果引用计数降为,则调用kobject release()释放该kobject对象
- void kobject_put(struct kobject * kobj);
- // 将kobj对象加入Linux设备层次。挂接该kobject对象到kset的list链中,增加父目录各级kobject的引// 用计数,在其parent指向的目录下创建文件节点,并启动该类型内核对象的hotplug函数
- int kobject_add(struct kobject * kobj);
- // kobject注册函数,调用kobject init()初始化kobj,再调用kobject_add()完成该内核对象的注册
- int kobject_register(struct kobject * kobj);
- // 从Linux设备层次(hierarchy)中删除kobj对象
- void kobject_del(struct kobject * kobj);
- // kobject注销函数. 与kobject register()相反,它首先调用kobject del从设备层次中删除该对象,再调// 用kobject put()减少该对象的引用计数,如果引用计数降为,则释放kobject对象
- void kobject_unregister(struct kobject * kobj);2 _( T6 C. _1 T q
" |6 e% o% y; \0 N9 t0 h; P1 S5 ?: ?6 F) X$ W, K! n
+ d1 v4 ]1 e- S; u
kset结构; D/ P O" w1 a6 a. |* E
3 b3 j9 D, x) [3 G m' s& J
* X1 D5 E) M, {) [( g" ~! L! T1 v: u& |: e+ m0 S% `
. q# `, n1 u& e
% H$ _8 V3 Q/ K0 Y" S0 o- b6 x
|
|