X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Ftable.h;h=3a0c2a66998b967362855a0f98a4d3133394aa05;hb=d19cedb28fa32091d149749d326707d8405cbbb6;hp=2fd569b6e00eec109b2aa15db49d91d5c4db0793;hpb=c6fadeb1f0488997b44e85a00a8887756232156d;p=openvswitch diff --git a/datapath/table.h b/datapath/table.h index 2fd569b6..3a0c2a66 100644 --- a/datapath/table.h +++ b/datapath/table.h @@ -34,7 +34,7 @@ struct tbl_node { struct tbl { struct rcu_head rcu; unsigned int n_buckets; - struct tbl_bucket ** __rcu *buckets; + struct tbl_bucket __rcu ***buckets; unsigned int count; void (*obj_destructor)(struct tbl_node *); }; @@ -55,13 +55,14 @@ struct tbl { struct tbl *tbl_create(unsigned int n_buckets); void tbl_destroy(struct tbl *, void (*destructor)(struct tbl_node *)); -struct tbl_node *tbl_lookup(struct tbl *, void *target, u32 hash, - int (*cmp)(const struct tbl_node *, void *target)); +struct tbl_node *tbl_lookup(struct tbl *, void *target, int len, u32 hash, + int (*cmp)(const struct tbl_node *, void *target, int len)); int tbl_insert(struct tbl *, struct tbl_node *, u32 hash); int tbl_remove(struct tbl *, struct tbl_node *); unsigned int tbl_count(struct tbl *); int tbl_foreach(struct tbl *, int (*callback)(struct tbl_node *, void *aux), void *aux); +struct tbl_node *tbl_next(struct tbl *, u32 *bucketp, u32 *objp); int tbl_n_buckets(struct tbl *); struct tbl *tbl_expand(struct tbl *);