idr
linux kernel有链表、队列、映射、二叉树等内建数据结构,并且封装一系列API给linux kernel开发人员使用,本章讲解映射。
base linux-2.6.34
简介
linux kernel 映射,就是通过 uid 找到 value,即 uid-value 集合,用struct idr结构体进行定义。
如何初始化?
void idr_init(struct idr *idp);如何分配UID?
int idr_pre_get(struct idr *idp, gfp_t gfp_mask);
int idr_get_new(struct idr *idp, void *ptr, int *id);如何查找UID对应的value?
void *idr_find(struct idr *idp, int id);如何释放 ?
void idr_remove(struct idr *idp, int id);
or
void idr_remove_all(struct idr *idp);
void idr_destroy(struct idr *idp);实践
Last updated
Was this helpful?