定义
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中即将存储字符串处。