Lines Matching refs:idr
262   IDA定义于`idr.h`文件中. 您通过`DECLARE_IDA(my_ida)`来创建一个ida对象, 或者`struct ida my_ida; ida_init(&m…
402    idr是一个基于radix-tree的ID-pointer的数据结构. 该数据结构提供了建id与数据指针绑定的功能, 它的主要功能有以下4个:
407    您可以使用`DECLARE_idr(my_idr)`来创建一个idr。或者您也可以使用`struct idr my_idr; idr_init(my_idr);`这两句话创…
411 `void idr_init(struct idr *idp)`
415   通初始化IDR, 你需要保证调用函数之前, idr的free_list为空, 否则会导致内存泄漏.
420    指向idr的指针
427 `int idr_preload(struct idr *idp, gfp_t gfp_mask)`
431   为idr预分配空间.您可以不自行调用, 因为当idr需要空间的时候, 内部会自行使用`kmalloc`函数获取空间. 当然, 设计这个函数的目的是为了让您有更多的选择. 当您…
436    指向idr的指针
448 `int idr_alloc(struct idr *idp, void *ptr, int *id)`
453 …find/idr_find_next/idr_find_next_getid/...`等函数的使用。(具体请看这三个函数的说明,当然,只会影响到您的使用体验,并不会影响到idr内部函数的决策和逻辑)
474 `void* idr_remove(struct idr *idp, int id)`
484    指向idr的指针
496 `void idr_remove_all(struct idr *idp)`
500   删除idr的所有已经分配的id.(所以您不用担心删除id之后, idr还会占用大量空间。)
508    指向idr的指针
516 `void idr_destroy(struct idr *idp)`
520   释放一个IDR所有的空间, 同时删除idr的所有已经分配的id.(所以您不用担心删除id之后, ida还会占用大量空间.) - 和`idr_remove_all`的区别是, …
525    指向idr的指针
533 `void *idr_find(struct idr *idp, int id)`
542    指向idr的指针
554 `void *idr_find_next(struct idr *idp, int start_id)`
563    指向idr的指针
576 `void *idr_find_next_getid(struct idr *idp, int start_id, int *nextid)`
585    指向idr的指针
598 `int idr_replace(struct idr *idp, void *ptr, int id)`
607    指向idr的指针
623 `int idr_replace_get_old(struct idr *idp, void *ptr, int id, void **oldptr)`
632    指向idr的指针
653 `void idr_empty(struct idr *idp)`
657    查询一个idr是否为空
662    指向idr的指针
666   idr为空则返回true,否则返回false。
669 `bool idr_count(struct idr *idp, int id)`
678    指向idr的指针