uevent之kobject_uevent_env

定義

kobject_uevent_env函數:


結構體kobj_uevent_env定義:

145 struct kobj_uevent_env {                                                                                                                                                                                
146         char *argv[3];                                                          
147         char *envp[UEVENT_NUM_ENVP];                                            
148         int envp_idx;                                                           
149         char buf[UEVENT_BUFFER_SIZE];                                           
150         int buflen;                                                             
151 }; 

"ACTION=add"和"DEVPATH=/dev/pci"保存結構中的什麼地方?字符串保存在buf中。
之前都是一個一維數組保存一個字符串,如果多個字符串,會申請多個數組。

現在這樣設計數組,把所有數據保存在buf的字符數組中,然後指針數組envp[UEVENT_NUM_ENVP],數組envp中的每個指針元素指向一個字符串。
比如:env->envp[0]=&env->buf[0];env->envp[1] = &env->buf[11]
env->buff[11]=‘D’。

A C T I O N = a d d \0 D E P A T H = / d e v / p c i \0

結構kobj_uevent_env成員含義:

  1. envp是指向buf中的每一個字符串。
    2)envp_idx是指明buf中的字符串的個數。
    3)buflen,buf含有字符串的個數,指向buf中即將存儲字符串處。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章