X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Flinux%2Fidr.h;h=9a2d762124de7684983cdb36a51dc3814b461a8f;hb=cefcade9e7b2331110fdd709b5871ebcc5f9a40f;hp=915572fa030b678835732a166b0f7b86e4dc1fb6;hpb=cf3842ec5015c862f4869e3641a8549393bb958e;p=linux-2.6 diff --git a/include/linux/idr.h b/include/linux/idr.h index 915572fa03..9a2d762124 100644 --- a/include/linux/idr.h +++ b/include/linux/idr.h @@ -14,6 +14,7 @@ #include #include +#include #if BITS_PER_LONG == 32 # define IDR_BITS 5 @@ -78,8 +79,11 @@ void *idr_find(struct idr *idp, int id); int idr_pre_get(struct idr *idp, gfp_t gfp_mask); int idr_get_new(struct idr *idp, void *ptr, int *id); int idr_get_new_above(struct idr *idp, void *ptr, int starting_id, int *id); +int idr_for_each(struct idr *idp, + int (*fn)(int id, void *p, void *data), void *data); void *idr_replace(struct idr *idp, void *ptr, int id); void idr_remove(struct idr *idp, int id); +void idr_remove_all(struct idr *idp); void idr_destroy(struct idr *idp); void idr_init(struct idr *idp); @@ -112,4 +116,6 @@ void ida_remove(struct ida *ida, int id); void ida_destroy(struct ida *ida); void ida_init(struct ida *ida); +void __init idr_init_cache(void); + #endif /* __IDR_H__ */