X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fvlan-bitmap.h;h=fed0ba197ab74cb69748f8b9e8d10c24eafefc5e;hb=d0040604727e1582abbc28fa62903a822453c99f;hp=6d74d4008b30c2a115b90d7b5f168a2bc444ee3f;hpb=2a4ae6357eb447e185599ec1ca7c95b1e4183c19;p=openvswitch diff --git a/lib/vlan-bitmap.h b/lib/vlan-bitmap.h index 6d74d400..fed0ba19 100644 --- a/lib/vlan-bitmap.h +++ b/lib/vlan-bitmap.h @@ -22,20 +22,16 @@ /* A "VLAN bitmap" is a 4096-bit bitmap that represents a set. A 1-bit * indicates that the respective VLAN is a member of the set, a 0-bit indicates - * that it is not. There is one wrinkle: NULL indicates that every VLAN is a - * member of the set. + * that it is not. There is one wrinkle: NULL is a valid value that indicates + * either that all VLANs are or are not members, depending on the vlan_bitmap. * * This is empirically a useful data structure. */ unsigned long *vlan_bitmap_from_array(const int64_t *vlans, size_t n_vlans); -bool vlan_bitmap_equal(const unsigned long *a, const unsigned long *b); +int vlan_bitmap_from_array__(const int64_t *vlans, size_t n_vlans, + unsigned long int *b); -/* Returns true if 'vid', in the range [0,4095], is a member of 'vlans'. */ -static inline bool -vlan_bitmap_contains(const unsigned long *vlans, uint16_t vid) -{ - return !vlans || bitmap_is_set(vlans, vid); -} +bool vlan_bitmap_equal(const unsigned long *a, const unsigned long *b); /* Returns a new copy of 'vlans'. */ static inline unsigned long *