定義
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成員含義:
- envp是指向buf中的每一個字符串。
2)envp_idx是指明buf中的字符串的個數。
3)buflen,buf含有字符串的個數,指向buf中即將存儲字符串處。