X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Flist.h;h=8ffa797dbc12889e216042aa7fd74680caaa05f7;hb=a359d5ad700c7175c75134cce3cee8d87d19d67c;hp=013f0488240ad7c9b6fa47ef795ae2351ce35a1f;hpb=772ec52b896380f23b587bea4a5bf18edd22449d;p=openvswitch diff --git a/lib/list.h b/lib/list.h index 013f0488..8ffa797d 100644 --- a/lib/list.h +++ b/lib/list.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 2010 Nicira Networks. + * Copyright (c) 2008, 2009, 2010, 2011 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,6 +31,7 @@ struct list { #define LIST_INITIALIZER(LIST) { LIST, LIST } void list_init(struct list *); +void list_poison(struct list *); /* List insertion. */ void list_insert(struct list *, struct list *); @@ -46,12 +47,14 @@ struct list *list_pop_front(struct list *); struct list *list_pop_back(struct list *); /* List elements. */ -struct list *list_front(struct list *); -struct list *list_back(struct list *); +struct list *list_front(const struct list *); +struct list *list_back(const struct list *); /* List properties. */ size_t list_size(const struct list *); bool list_is_empty(const struct list *); +bool list_is_singleton(const struct list *); +bool list_is_short(const struct list *); #define LIST_FOR_EACH(ITER, MEMBER, LIST) \ for (ASSIGN_CONTAINER(ITER, (LIST)->next, MEMBER); \